Tôi đang tạo một ứng dụng biểu mẫu studio C# trực quan sử dụng zedgraph để biểu đồ dữ liệu mà chương trình thu thập nhưng tôi đang gặp phải vấn đề sau khi vẽ sơ đồ dữ liệu:Làm cách nào để tránh ZedGraph thay đổi YAxis của tôi, chia cho 1000?
Giá trị trục y thường ở mức 100.000+ phạm vi như vậy khi đồ thị zed vẽ giá trị nó nhãn các nhãn trục y với các công cụ như 0, 10, 15, 20, 25 và sau đó trên nhãn trục y, nó sẽ nối thêm "(10^3)" vào tiêu đề và sẽ vẽ các giá trị cho phù hợp. Điều tôi muốn làm là gắn nhãn trục y với các giá trị như 0, 10.000, 15.000, 20.000 v.v. hoặc 0, 10k, 15k, 20k, v.v. và không điều chỉnh tiêu đề trục y.
Tôi đã cố gắng thiết lập YAxis.Scale.MajorStep = double.Parse("10000");
nhưng hiệu ứng duy nhất là thêm một tấn nhiều dòng đánh dấu trên trục y nhưng không có hiệu ứng nào khác. Đây là mã của tôi để vẽ đồ thị dữ liệu:
private void createGraph()
{
GraphPane myPane = zdc_graph.GraphPane;
myPane.CurveList.Clear();
myPane.GraphObjList.Clear();
myPane.Title.Text = this.monitoredHost.hostName + "\nWorkState[" +
this.monitoredHost.currentWorkState + "]";
myPane.XAxis.Title.Text = "";
myPane.YAxis.Title.Text = "OPS Per Second";
myPane.YAxis.Scale.FontSpec.FontColor = Color.Blue;
myPane.YAxis.Title.FontSpec.FontColor = Color.Blue;
myPane.YAxis.Scale.MaxAuto = true;
myPane.Y2Axis.Title.Text = "Reading";
myPane.Y2Axis.IsVisible = true;
myPane.Y2Axis.Scale.FontSpec.FontColor = Color.Red;
myPane.Y2Axis.Title.FontSpec.FontColor = Color.Red;
myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Scale.Format = "T";
myPane.XAxis.Scale.MajorUnit = DateUnit.Second;
myPane.YAxis.Scale.Min = 0;
myPane.YAxis.Scale.MajorStep = double.Parse("10000");
myPane.Y2Axis.Scale.Min = 0;
LineItem kpiCurve = myPane.AddCurve("OPS Per Second",
this.monitoredHost.graphKpiList,
Color.Blue,SymbolType.Circle);
LineItem pwrCurve = myPane.AddCurve("Reading",
this.monitoredHost.graphPwrList, Color.Red,
SymbolType.Circle);
kpiCurve.Line.Width = 2.0F;
kpiCurve.Symbol.Size = 4.0F;
kpiCurve.Symbol.Fill = new Fill(Color.White);
pwrCurve.Line.Width = 2.0F;
pwrCurve.Symbol.Size = 4.0F;
pwrCurve.Symbol.Fill = new Fill(Color.White);
pwrCurve.IsY2Axis = true;
myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 210), -45F);
zdc_graph.AxisChange();
zdc_graph.Refresh();
}
Tôi hy vọng điều này có ý nghĩa. Cảm ơn đã giúp đỡ.