将X轴起点设置为第一个系列中的第一个值,图表控件

本文关键字:第一个 控件 个系列 起点 设置 | 更新日期: 2023-09-27 17:58:59

我在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; 

将X轴起点设置为第一个系列中的第一个值,图表控件

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);