如何在Chart控件中设置X值的间隔

时间:2012-01-16 15:19:18

标签: c# charts

我有一个折线图,其中包含一些如图所示的值。我希望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;

chart

2 个答案:

答案 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对齐,那么您''将从图表中裁剪出一些系列数据。

取决于你想要实现的目标,我只是坚持使用图表吐出的默认值。