有没有一种简单的方法可以确定图表的最小和最大?

时间:2020-02-01 14:49:34

标签: charts rounding

标题可能说明了一切:对于一个图表,我想以一种合理的(四舍五入的)方式设置最小值和最大值(以及步长间隔)。 随Visual Studio一起部署的Microsoft Chart不会执行此操作-它需要使用您输入的数字,如果您的坐标轴的小数点后有8或10个数字,这看起来很奇怪。

该图表将显示股市价格,因此我对数字的大小有一个大致的了解,但它们之间仍然相差很大。

例如,对于图表,最小值为21.5,最大值为27.9,刻度为20到30(增量为2)听起来很合理。那应该是4个中间值,分别是22、24、26和28。

对于21.5到77.9,大约20到80的值可能有意义,其中只有2步:40到60。或者5步,以10:30、40、50、60、70递增。

值可能有数百个: 321至328-> 320至330。 321至389-> 320至390,以10或20为步长。 321到821-> 300到900是100步可能看起来不错。 400、500、600、700、800以5个步骤递增。

到目前为止,这很容易,请考虑以下情况: 从321到481-> 300到500似乎很容易决定,但是对于步骤...只有400个中间级是不好的。我希望看到50年代:350、400、450,这是3个不错的中间体。也许25岁也可以。

要显示的值也可能仅是小数点(4.12)之前的一位数字或成千上万。

我很确定,我可以使用对数来找到数字的大小,并为每种组合分配合适的舍入方案,从而对此进行编码。 我已经开始,但以我能想到的每种情况但仍然不满意的每种情况,都有很多switch语句结束。

我想知道是否存在一种更直接的方法,而不必在轴的两端(最小和最大)上遇到的每10的幂都这样做。

0 个答案:

没有答案
相关问题