如何在ASP.NET图表上正确格式化Y轴标签?

时间:2011-07-12 14:37:06

标签: c# asp.net charts

我正在尝试使用本机ASP.NET 4.0图表控件构建图表。

我几乎完成了我想做的所有事情,但是如果你看下面的截图:

enter image description here

您会注意到Y轴标签都是不稳定的 - 也就是说,它们是小数,并且它们不会直接落在任何实际的网格线上。

我的图表的目的是显示一个始终在0到16之间的值。我需要知道确切的值,因此我可以使用以下代码设置网格线来表示每个值:

Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1;

如您所见,它显示所有行,0到16.但是,Y轴标签不仅不排列,而且甚至不是整数值。我希望每个网格都有一个标签,我希望它们是完整的价值。

我已经完成了谷歌搜索的分享,但我主要找到的东西完全关闭网格线,这不是我想要的。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你能不能只设置AxisY.Interval?

chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1;
chart1.ChartAreas["ChartArea1"].AxisY.Interval = 1;

我快速创建了一个测试图表并获得了以下内容:

enter image description here

答案 1 :(得分:0)

当我设置间隔时,我只设置Axis Interval属性的属性

chart1.ChartAreas["ChartArea1"].AxisY.Interval = 1;

默认行为将主网格和主要刻度设置为此间隔,除非您已覆盖了为所有内容关闭自动关闭的属性。 Microsoft Charting又名Dundas图表(微软获得代码的地方)可能很棘手。

虽然我无法代表Microsoft Charting中的每个属性,但设置您可以找到的最具特异性的属性会有所帮助。只有当你没有得到理想的结果时才会更深入,因为通过覆盖通常效果很好的默认值,可能会产生意想不到的后果。

即:

chart1.ChartAreas["ChartArea1"].AxisY.Interval = 1;

而不是

chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1;