2014-09-27 172 views
1

我知道这个问题在很多次之前就已经问过了,但似乎没有人想出解决方案(至少我不能找到)。X轴从0开始

所以,我有我的应用程序的图表,我已经附加值

chart1.Series["Life"].Points.AddY(1); 
chart1.Series["Life"].Points.AddY(30); 
chart1.Series["Life"].Points.AddY(20); 
chart1.Series["Life"].Points.AddY(50); 

为此,我得到这样


图表现在,这是非常令人不快的眼睛首先是因为X需要从原点开始。 所以,问题1 - 为什么从1开始? 问题2 - 我该如何解决这个问题?这是我第一次在c#中制作图表,所以这可能听起来像一个微不足道的困境。

另外,就像我提到的,我做我的研究,我发现,我应该做的像

chart1.ChartAreas[0].AxisX.Interval = 0; 
chart1.ChartAreas[0].AxisX.IsStartedFromZero = true; 
chart1.ChartAreas[0].AxisX.Minimum = 0; //made this -1 
chart1.ChartAreas[0].AxisX.Crossing = 0; //and this too to -1 

这东西没有工作,所以我决定给他们打了一下与最小和交叉-1。没有工作。该图不仅移动,但它仍然从1开始。

回答

2

您也可以使用Points.AddXY方法指定X坐标。为了确保该行从原点开始预先加上数据点(0, 0)

var series = chart1.Series["Life"]; 
series.Points.AddXY(0, 0); 
series.Points.AddXY(1, 1); 
series.Points.AddXY(2, 30); 
series.Points.AddXY(3, 20); 
series.Points.AddXY(4, 50); 
chart1.ChartAreas[0].AxisX.Minimum = 0; 
2

所以,你要在图表X轴从1开始? 为什么不使用:

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

或者你想让你的积分从0开始?为什么不使用:

chart1.ChartAreas["Life"].AxisX.Minimum = 0; 
chart1.Series["Life"].Points.AddXY(0,1);