2016-04-15 2 views
0

Я работаю с Visual Studio 2015, C#, WinForms.Почему диаграмма не показывает добавленные баллы?

Я добавил нормальный график с инструментарием и измененном типа к линии, а затем добавил следующий код:

chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH"; 
chart1.ChartAreas[0].AxisX.Interval = 1; 
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Hours; 
chart1.ChartAreas[0].AxisX.IntervalOffset = 0; 
chart1.ChartAreas[0].AxisX.IsMarksNextToAxis = true; 
chart1.ChartAreas[0].AxisX.IsStartedFromZero = true; 
DateTime minDate = DateTime.Today; 
DateTime maxDate = minDate.AddHours(23); 
chart1.ChartAreas[0].AxisX.Minimum = minDate.ToOADate(); 
chart1.ChartAreas[0].AxisX.Maximum = maxDate.ToOADate(); 
chart1.Series[0].BorderWidth = 2; 
for (int i = 0; i < 24; i++) 
{ 
    chart1.Series[0].Points.AddY(i); 
} 

Выход:

Output

Почему график не показывает добавлены баллы?

+0

Они, вероятно, находятся за пределами AxisX.Minimum и AxisX.Maximum. Посмотрите на значения участвующих переменных в отладчике. Вы увидите двойник. Это должно устранить проблемы. – TaW

ответ

0

Я думаю, что вы пропустите значение X

chart1.Series[0].Points.Add(new Point(x, y)); 

EDIT (все точки дро на X = 0): Был неправ.

Проблема в том, что ваше значение minX для осей - 42475,0, проверка отладки. Максимум составляет 42475,9583333333. Таким образом, вы не увидите свою ценность для Xc < 0,24). Измените ваши X ax limes :)

+0

Какие ограничения следует использовать? – Fran

+0

Зависит от того, какие оси X вы хотите? chart1.Series [0] .Points.AddXY (новая точка (i + minDate.ToOADate(), y)); Затем вы должны получить X точек от ваших осей минимум и интервал 1 (от i приращения). Но даже то, что ваш топор составляет 42475.0 - 42475,9583333333, поэтому диапазон меньше 1. Реорганизуйте это :) – Elektryczny

0

Вы устанавливаете диапазон XAxis (минимальный и максимальный) на очень большое значение, см. Документацию для DateTime.ToOADate.

Возможно, вы также устанавливаете только значение Y-точек, которое добавляет их в вашу коллекцию точек данных, результат этого будет зависеть от используемого типа диаграммы (который вы не укажете).

+0

Я указал, что я использую тип линии, какой диапазон использовать? Документация не очень помогает. – Fran

+0

Это зависит от того, что вы хотите, чтобы ось показывала, вы можете попробовать как минимум 0 и максимум 23 в качестве отправной точки. –

Смежные вопросы