C#图表如何更改X轴的最大和最小值

32

请问如何在C#图表上更改x轴的最小值和最大值?我想要从0到13,但现在它是从-1到14。


这不是由您的源数据决定的吗? - Dutts
我也是这么想的,但我只是从 i=0 到 i<14,所以……我相信肯定有一个选项可以关闭额外的填充,但我对 C# 还不是很熟悉。 - Matthew The Terrible
请查看我的答案,至少看一下“最大值”和“最小值”的当前值。 - Dutts
5个回答

56
如果您正在使用System.Windows.Forms.DataVizualisation.Charting,您可以通过操作图表的ChartAreas属性来设置轴范围。类似于以下内容:
myChart.ChartAreas[0].AxisX.Maximum = 13;
myChart.ChartAreas[0].AxisX.Minimum = 0;

哦,但它会截断位于索引0和索引13的一半的条形。是否有一种偏移方式,使得条与Y轴略微对齐? - Matthew The Terrible
在这种情况下,我认为您可能需要在绘图之前手动转换数据。 - Dutts

15

这样做会更有效:

myChart.ChartAreas[0].AxisX.IsMarginVisible = false;

这个解决方案对我来说绝对更好,立即解决了我的问题。谢谢。 - Matthis Kohli

6
你可以尝试使用myChart.ChartAreas[0].AxisX.RoundAxisValues()。该功能在Y轴上默认开启,但我发现对于X轴来说通常也更有效。

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

  • chart1.ChartAreas[0].AxisX.Maximum = 10;

  • chart1.ChartAreas[0].AxisY.Minimum = -5;

  • chart1.ChartAreas[0].AxisY.Maximum = 5;

以上代码是关于编程的内容。

//如果您正在将图表与数据源绑定,例如 chart1.DataSource = ds; chart1.DataBind();//请始终这样做 ds.Tables[0].Columns["X"].DataType = typeof(double); ds.Tables[0].Columns["Y"].DataType = typeof(double);//因为默认情况下它会将其视为字符串,并且X和Y范围将不会显示。 - user10965808

0

New Chart().SetYAxis("GPA",0,4);

如果您正在使用Chart类,您可以使用SetYAxis方法设置Y或X轴。


这是如何工作的,更具体地说:参数0和4的含义是什么? - Kjeld Schmidt
0代表最小值,4代表最大值,它们只是Y轴起始和结束的参数。您也可以将其设置为X轴,并通过使用间隔属性,在它们中设置从0到4的增量,以便每一步都能增加。 - Mohamed Fathallah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接