我知道这个问题已经被问了很多次,但似乎没有人提出解决方案(至少我找不到)。
所以,我有一个应用程序图表,我已经添加了值
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开始?
答案 0 :(得分:2)
所以你想让你的图表X轴从1开始? 为什么不使用:
chart1.ChartAreas[0].AxisX.Minimum = 1;
或者你希望你的积分从0开始?为什么不使用:
chart1.ChartAreas["Life"].AxisX.Minimum = 0;
chart1.Series["Life"].Points.AddXY(0,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;