【问题标题】:C# - How do you make a chart object start at 0 on the X axis?C# - 如何使图表对象在 X 轴上从 0 开始?
【发布时间】:2014-05-28 13:10:48
【问题描述】:

我一直试图在 X 轴上设置数据开始绘制的位置,但没有成功。无论如何,它总是从 1 开始。我试过做

chartArea.AxisX.Minimum = -1;
chartArea.AxisX.Maximum = 5;

但它不起作用。即使我这样做:

chartArea.AxisX.Minimum = 3;
chartArea.AxisX.Maximum = 6;

这些条将不可见,而不是从 3 开始。

manaCurveChart.ChartAreas[0].AxisX.IsStartedFromZero = true;

似乎也没有做任何事情。

编辑:这是代码

            ChartArea chartArea = manaCurveChart.ChartAreas[0];
            chartArea.AxisX.IsStartedFromZero = true;
            chartArea.AxisX.Minimum = -1;
            chartArea.AxisX.Maximum = 5;

            string[] Pets = new string[] { "Dog", "Cat" };
            int[] PointArray = new int[] { 1, 2 };

            manaCurveChart.Titles.Add("Pets");
            for (int i = 0; i < Pets.Length; i++)
            {
                Series series = manaCurveChart.Series.Add(Pets[i]);
                series.Points.Add(PointArray[i]);
            }

【问题讨论】:

  • 设置图表的位置以及向图表添加点的位置的邮政编码。
  • @mmathis 这是代码
  • 将其发布在原始帖子中作为编辑,以便您可以很好地格式化它
  • @mmathis 我的错,我刚刚把它贴在上面。
  • 我回答了一个类似的问题here,解释了图表控件如何覆盖您的指令以更好地显示图表

标签: c# winforms c#-4.0 charts


【解决方案1】:

而不是做

series.Points.Add(PointArray[i]); 

(其中 x 值是自动确定的),使用

series.Points.AddXY(i, PointArray[i]);

所以 x 值是明确指定的。它强制 x 轴的最小值为 0,然后您可以根据需要设置最小/最大/间隔(或让它们自动确定)。

【讨论】:

  • 非常感谢!我开始认为我再也不会得到答案了。它就像我现在想要的那样工作!
猜你喜欢
  • 2014-07-08
  • 1970-01-01
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-28
  • 1970-01-01
相关资源
最近更新 更多