我有一个折线图,其中包含一些如图所示的值。我希望X值为1 2 3等,但现在我有序列数据和x我有0,77 1,77 2,77 3,77。我设置了
IsStartedFromZero = true;
Interval = 1;
Maximum = 4;
Maximum = 4;
在chartarea属性
如何强制X值为1 2 3 4?
CODE:
Series s = new Series();
s.Color = Color.Red;
s.ChartType = SeriesChartType.Line;
s.BorderWidth = 3;
s.Points.Add(new DataPoint(1.2, 0));
s.Points.Add(new DataPoint(1.2,50));
s.Points.Add(new DataPoint(2, 80));
s.Points.Add(new DataPoint(3.2, 100));
Series s1 = new Series();
s1.Color = Color.Blue;
s1.ChartType = SeriesChartType.Line;
s1.BorderWidth = 2;
s1.Points.Add(new DataPoint(0.8,3.2));
s1.Points.Add(new DataPoint(0.83,6.5));
s1.Points.Add(new DataPoint(0.9,12.9));
s1.Points.Add(new DataPoint(1,25.8));
s1.Points.Add(new DataPoint(1.1,29));
s1.Points.Add(new DataPoint(1.2,54.8));
s1.Points.Add(new DataPoint(1.4,58.1));
s1.Points.Add(new DataPoint(1.5,61.3));
s1.Points.Add(new DataPoint(1.6,67.7));
s1.Points.Add(new DataPoint(2,90.3));
s1.Points.Add(new DataPoint(2.5,100));
chart1.Series.Add(s);
chart1.Series.Add(s1);
chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.White;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.White;
chart1.ChartAreas[0].AxisX.Maximum = 4;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisX.IsStartedFromZero = true;
chart1.ChartAreas[0].AxisX.IntervalOffsetType = DateTimeIntervalType.Number;
答案 0 :(得分:4)
答案是设置:
chart1.ChartAreas[0].AxisX.Minimum = 0;
就是这样!
答案 1 :(得分:0)
我认为默认行为是将第一个X标签设置为数据系列中包含的最低值。在你的情况下,你的蓝色系列的最低值似乎是~0.8,低于1.
鉴于您指定的Interval
为1,Maximum
为4,因此X标签大约为0.77,1.77,2.77,3.77。
如果在图表绑定后明确强制X标签为1,2,3,4,那么您的标签将无法正确对应您的数据,如果您将数据与1.0对齐,那么您''将从图表中裁剪出一些系列数据。
取决于你想要实现的目标,我只是坚持使用图表吐出的默认值。