2016-07-28 2 views
0

У меня есть элемент управления диаграммой в форме окна и недавно изменил данные, которые я добавляю для оси x из строки, представляющей дату, в тип даты.Установка оси X начинается с первого значения в первой серии, управление диаграммой

перед изменением Я установил минимальную ось Х на 1, так что линия начинается с оси Y, теперь я использую дату, я не могу сделать то же самое!

Есть ли простой способ всегда начинать линию по управлению диаграммой по оси Y?

Вот что я делаю, и то, что я сейчас пытаюсь:

chart2.ChartAreas[0].AxisX.Minimum = 1; 

И добавлял данные к диаграмме, таким образом:

seriesAve.Points.AddXY(strDate, average); //StrDate is a string, average is a double. 

я теперь сделать это таким образом:

seriesAve.Points.AddXY(dt.Date, average); 
DateTime tpdate = dateTimePicker1.Value; 

// results in cannot convert datetime to double. 
chart2.ChartAreas[0].AxisX.Minimum = tpdate.Date; 

ответ

1

Все X- и Y-значения в Chart хранятся как doubles.

При добавлении значения как DateTime он преобразуется в двойное неявно с помощью функции преобразования ToOADate.

Так что, когда вам необходимо установить значение как Minimum, Maximum и т.д. Вы должны вызвать эту функцию в вашем коде:

chart2.ChartAreas[0].AxisX.Minimum = tpdate.Date.ToOADate(); 

Чтобы преобразовать его обратно в DateTime использовать DateTime.FromOADate функцию:

DateTime tpdate = DateTime.FromOADate(chart2.ChartAreas[0].AxisX.Minimum); 
+0

Спасибо @TaW Я собирался в кругах с этим, он исправил мою проблему, высоко оценил ... – Adrian