【问题标题】:Fixed Intervals on MSChart AxisMSChart 轴上的固定间隔
【发布时间】:2011-07-02 23:12:38
【问题描述】:

我在 VS2010 中有一个带有简单折线图的 windows 窗体项目。

数据是动态的,始终介于 1.4000 和 1.5000 之间。

我希望 Y 轴的网格线/标签始终显示在 每个 #.##20 数据点上,如下所示:

1.4080 --------------

1.4060 ----------------------------

1.4040 --------------

1.4020 ----------------------------

1.4000 --------------

等等

所以我尝试了轴网格线/标签的 Interval 属性,将其设置为 0.002,结果显示网格线/标签 0.0020个点,比如这样:

1.4084 ----------------------------

1.4064 ----------------------------

1.4044 ----------------------------

1.4024 ----------------

1.4004 ----------------

但不是 on 0.0020 点,如前所示。

关于如何让它以我想要的方式显示的任何建议?

【问题讨论】:

  • 您指的是新的Chart Controls for .NET 还是旧的MSChart ActiveX?我无法用新控件重现您的问题 - 折线图上的 Y 轴应自动向下舍入到 1.400,除非您将明确的最小值设置为 1.4004。
  • @brianpeiris 我指的是 VS2010 (.NET 4.0) 中包含的微软图表控件。最小值/最大值设置为显示数据的最低/最高值,这是动态的。在这些条件下,我仍然希望以我描述的方式显示标签/网格线(即在 0.0020 点上)。我觉得奇怪的是,这么简单的事情似乎不可能,例如,我可以在 Excel 的图表中轻松完成。
  • 设置最小值的原因是什么?如果您不这样做,它会自动为您选择 1.4000。如果您必须明确设置最小值,那么您必须自己将其向下舍入到下一个 0.020。
  • @brianpeiris 看起来这是唯一的方法。谢谢

标签: c# vb.net winforms visual-studio-2010 mschart


【解决方案1】:

在您的AxisY 中,将Minimum 的值设置为1.4004,将Maximum 的值设置为1.4084(或从您的动态数据中提取相应的最小/最大值四舍五入到小数点后4 位),将Interval 设置为0.0020 和IntervalAutoModeFixedCount。此外,将轴的 LabelStyleFormat 设置为 {0.0000} 以在标签中保留四位小数。

【讨论】:

  • 我认为 OP 想要小数点后 3 位,但这是一个很好的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多