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

C# 如何正确格式化ASP.NET图表上的Y轴标签?,c#,asp.net,charts,C#,Asp.net,Charts,我正在尝试使用本机ASP.NET 4.0图表控件构建图表 我几乎做了我想做的所有事情,但是如果你看下面的屏幕截图: 您会注意到Y轴标签都是不稳定的——也就是说,它们是小数,并且它们不会直接落在任何实际网格线上 我的图表的目的是显示一个始终介于0和16之间的值。我需要知道确切的值,所以我可以使用以下代码设置网格线来表示每个值: Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1; 如您所见,它显示了所有行,0到16。但是,Y

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

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

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

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

Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1;
如您所见,它显示了所有行,0到16。但是,Y轴标签不仅没有对齐,甚至不是整数值。我希望每个网格线都有一个标签,我希望它们是完整的值

我也做过谷歌搜索,但我发现大部分内容都与完全关闭网格线有关,这不是我想要的


有什么想法吗?

你能不能设置AxisY.Interval

chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Interval = 1;
chart1.ChartAreas["ChartArea1"].AxisY.Interval = 1;
我快速创建了一个测试图表,得到了以下结果:


设置间隔时,我只设置轴间隔属性的属性

chart1.ChartAreas["ChartArea1"].AxisY.Interval = 1;
默认行为会将主栅格和主刻度设置为此间隔,除非您已覆盖了关闭所有自动的属性。微软制图又名邓达斯制图(微软从中获得了代码),这种方式可能很棘手

虽然我不能代表Microsoft Charting中的每个属性,但它有助于设置您可以找到的最不特定的属性。只有在没有得到预期结果的情况下才能进行深入,因为深入可能会通过覆盖通常运行良好的默认值而产生意外后果

i、 e:

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

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

啊-我看到你像我一样将间隔属性应用于MajorGrid,但也应用于Y轴本身。我没有试过。看来你两个都得做。谢谢