2016-07-28 38 views
0

我在窗体表单上有一个图表控件,最近将一个表示日期的字符串中的x轴数据添加到日期时间类型中。将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

Chart中的所有X和Y值都存储为doubles

当添加一个值为DateTime时,它将被转换为隐式转换为双转换函数ToOADate

所以,当你需要设置的值,如MinimumMaximum等你需要调用这个函数在你的代码:

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

要将其转换回DateTime使用DateTime.FromOADate功能:

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

谢谢@TaW我一直在这个圈子里,它已经解决了我的问题,非常感谢... – Adrian

相关问题