Добавить горизонтальную линию на графике в C#

Я использую System.Windows.Forms.DataVisualization.Chart чтобы построить некоторые данные рассеяния x,y, например:

chart1.Series["Series2"].Points.AddXY(stringX, doubleY);
  1. Я хотел бы добавить к этой диаграмме горизонтальную линию со средним значением вида y = constant. как я могу это сделать? Обратите внимание, что ось x представляет собой строку

  2. фактически, ось x-это время (hh:mm:ss). Я преобразую его в строку, чтобы построить его, потому что если я использую формат DateTime для оси x (XValueType) диаграммы секунд не видно. могу ли я исправить это, чтобы показать секунды, чтобы я мог построить непосредственно x как DateTime и y как double?

2 ответов


для пункта 2 вы все еще можете установить XValueType to DateTime но с правильным форматом в LabelStyle.

chart1.Series[SeriesName].XValueType = ChartValueType.DateTime;
// Use the required format. I used the below format as example.
chart1.ChartAreas[ChartName].AxisX.LabelStyle.Format = "dd/mm/yy hh:mm:ss";

для пункта 1, добавить StripLine к оси Y диаграммы.

StripLine stripline = new StripLine();
stripline.Interval = 0;
stripline.IntervalOffset = average value of the y axis; eg:35
stripline.StripWidth = 1;
stripline.BackColor = Color.Blue;
chart1.ChartAreas[ChartAreaName].AxisY.StripLines.Add(stripline);

Я бы добавил еще один ряд с теми же значениями X, но постоянным значением Y, которое представляет среднее значение.

double avgY = {average of Y points}

и в цикле:

chart1.Series["Series3"].Points.AddXY(stringX, avgY);