Я хотел бы нарисовать радарную диаграмму с помощью элемента управления MS Chart в приложении WinForms.
Эта диаграмма содержит данные за 1 день, у меня есть данные за каждую секунду, поэтому я иметь 86 400 пар значений xy. Ось X содержит даты, y - мои значения int.
Мой тестовый код выглядит следующим образом:
var fromDate = new DateTime(DateTime.Now.Year,
DateTime.Now.Month,
DateTime.Now.Day,
0,
0,
0);
var toDate = new DateTime(DateTime.Now.Year,
DateTime.Now.Month,
DateTime.Now.Day,
23,
59,
59);
List<DateTime> xValues = new List<DateTime>();
List<double> yValues = new List<double>();
var iterDate = fromDate;
var i = 0;
while (iterDate <= toDate)
{
xValues.Add(iterDate);
yValues.Add(i);
iterDate = iterDate.AddSeconds(1);
i++;
}
chart1.Series["Default"].Points.DataBindXY(xValues, yValues);
var dateLabelStyle = new LabelStyle();
dateLabelStyle.Format = "HH:mm:ss";
chart1.ChartAreas["Default"].AxisX.LabelStyle = dateLabelStyle;
chart1.ChartAreas["Default"].AxisX.Minimum = fromDate.ToOADate();
chart1.ChartAreas["Default"].AxisX.Maximum = toDate.ToOADate();
chart1.Series["Default"].IsXValueIndexed = true;
chart1.Series["Default"].ChartType = SeriesChartType.Radar;
chart1.Series["Default"]["RadarDrawingStyle"] = "Line";
chart1.Series["Default"]["AreaDrawingStyle"] = "Circle";
chart1.Series["Default"]["CircularLabelsStyle"] = "Horizontal";
chart1.ChartAreas["Default"].Area3DStyle.Enable3D = false;
Просмотр результатов выглядит следующим образом:
Я думаю, что причина «эффекта черного круга» в том, что он рисует ось y для каждых 86 400 точек. Как я могу настроить отображение этих осей только каждый час?
Ярлыки (даты, указанные мной) для осей x не отображаются. Как мне их показать?
Спасибо заранее!
.net4 / c # / winforms / vs2010