MS Chart Control缩放最小尺寸问题

10

我正在使用MS Chart Control .NET 3.5、WinForms和C#实现散点图。我的x轴数据是DateTime,我注意到即使按照以下方式设置ScaleView,也无法缩小至小于1天的分辨率:

chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSize = 4;
chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Hours;

还有其他人遇到过这个问题吗?有什么想法吗?

2个回答

11

我想到了...也许我没有仔细阅读文档,但从交互式演示中并不明显。

设置

chart1.ChartAreas["MyChart"].CursorX.Interval = 0;

然后它让我可以顺利地沿着x轴进行缩放。


我已经尝试了相当长一段时间,但仍无法用分辨率低于1来进行缩放。很高兴终于找到了您的答案。我完全同意这一点在演示中并不明显! - Chris Zeh
这太棒了。我再也不用听我的老板抱怨这个了。 - RussellStewart

7

非常好用!如果你想要流畅的缩放行为,这个工具非常方便且必备。
虽然我有仔细阅读文档,但我并没有遇到什么问题 :-)

然而,如果你处理的是双精度浮点数,而不是像小时或天这样基于整数类型(integer based types)的数据,将间隔设置为零可能会有些极端:在缩放时,你最终会得到过于精确的标签,如2.907343253253235。

一个好的组合是使用这两个属性:

chartArea1.AxisY.ScaleView.MinSize = 0;
chartArea1.CursorY.Interval = 0.001;

这样做可以让您随意放大,同时仍然控制精度在合理水平。

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