Я создаю приложение форм Visual Studio C #, которое использует zedgraph для составления диаграммы данных, которые собирает программа, но я сталкиваюсь со следующей проблемой при построении данных:
Мои значения по оси y обычно находятся в диапазоне 100 000+, поэтому, когда график zed отображает значение, он помечает метки по оси y такими вещами, как 0, 10, 15, 20, 25, а затем на оси y обозначает добавит "(10 ^ 3)" к заголовку и отобразит значения соответственно. Я хочу, чтобы он пометил ось Y значениями 0, 10000, 15000, 20000 и т. Д. Или 0, 10 тыс., 15 тыс., 20 тыс. И т. Д. И не настроил заголовок оси Y.
Я попытался установить YAxis.Scale.MajorStep = double.Parse("10000");
, но единственный эффект, который имеет место, это добавить тонну больше линий тиков на оси Y, но никакого другого эффекта. Вот мой код, который отображает данные:
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();
}
Надеюсь, это имеет смысл. Спасибо за помощь.