gpt4 book ai didi

c# - MS Chart 中的自动间隔精度

转载 作者:可可西里 更新时间:2023-11-01 07:58:17 27 4
gpt4 key购买 nike

我目前使用 System.Windows.Forms.DataVisualization.Charting.Chart 在 .NET 中使用图表。到目前为止,它看起来非常强大,而且效果很好。然而,就如何自动计算间隔而言,存在一个巨大的问题。我使用了很多 double 值,在像 ZedGraph 这样的库中,它可以完美地处理这个问题。它选择最小/最大/间隔就好了。但是,在MS Chart中,它可能会选择206.3334539832作为最小值,并且具有类似小数精度的区间。显然这看起来很丑。

所以,我尝试简单地制作轴格式 {0.00},它在加载图表时效果很好。除非你放大,你需要更高的精度,可能是小数点后 4 位而不是 2 位。看来我要么一直坚持 9 位小数,要么是一个恒定的固定数字,当有人需要更高的精度时可能会中断。我宁愿它根据当前应用的缩放级别来获取精度。像 ZedGraph 和 Dundas 这样的库(我相信 MS 甚至在使用它们!)倾向于选择随着放大和缩小而改变的好的值。

有没有办法让间隔随着缩放框的变化而改变精度?这可能是我设置错误的一些简单属性,但很难判断这个东西拥有的数百万个属性(尤其是当大约有 14 个地方代表 Interval 的概念时)。

最佳答案

我在缩放时遇到了完全相同的问题。我添加了代码来格式化轴标签并从 Paint 处理程序调用它。 Axis View 对象具有 IsZoomed 属性并具有获取当前轴限制 (GetViewMinimum/Maximum) 的函数。对于所有情况,我将 Axis LabelStyle.Format 设置为“N”,除非 Max-Min=range 小于 1。然后我将格式设置为“F#”,其中 # 根据轴范围计算。

# = Convert.ToInt32(Math.Abs(Math.Log10(range) - .5)) + 1;

关于c# - MS Chart 中的自动间隔精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com