我在Windows窗体上有一个图表控件,最近将我为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;
答案 0 :(得分:1)
Chart
中的所有X和Y值都存储为doubles
。
在添加值DateTime
时,它会使用ToOADate
转换函数隐式转换为double。
因此,当您需要设置Minimum
,Maximum
等值时,您需要在代码中调用此函数:
chart2.ChartAreas[0].AxisX.Minimum = tpdate.Date.ToOADate();
要将其转换回DateTime
,请使用DateTime.FromOADate
功能:
DateTime tpdate = DateTime.FromOADate( chart2.ChartAreas[0].AxisX.Minimum);