当前位置:  开发笔记 > 编程语言 > 正文

合理优化的图表缩放

如何解决《合理优化的图表缩放》经验,为你挑选了1个好方法。



1> Mark Ransom..:

这来自之前的类似问题:

图上"漂亮"网格线间隔的算法

我用一种蛮力方法做到了这一点.首先,计算出可以放入空间的最大刻度标记数.将总值范围除以刻度数; 这是 刻度线的最小间距.现在计算对数基数10的底数以得到刻度的大小,并除以该值.你应该得到1到10范围内的东西.只需选择大于或等于该值的圆数,然后乘以前面计算的对数.这是你的最终刻度线间距.

Python中的示例:

import math

def BestTick(largest, mostticks):
    minimum = largest / mostticks
    magnitude = 10 ** math.floor(math.log(minimum) / math.log(10))
    residual = minimum / magnitude
    if residual > 5:
        tick = 10 * magnitude
    elif residual > 2:
        tick = 5 * magnitude
    elif residual > 1:
        tick = 2 * magnitude
    else:
        tick = magnitude
    return tick


间距.现在计算对数基数10的底数以得到刻度的大小,并除以该值.你应该得到1到10范围内的东西.只需选择大于或等于该值的圆数,然后乘以前面计算的对数.这是你的最终刻度线间距.
推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有