gpt4 book ai didi

algorithm - 给定数据范围,需要巧妙的算法来计算图轴刻度的粒度

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:12 25 4
gpt4 key购买 nike

场景:

绘制图形。具有从 A 到 B 范围内的数据点,并希望确定绘制轴刻度的粒度。例如,对于 134 到 151,比例可能从 130 到 155,以十进制系统中的“整数”开始和结束。但是数字可能从 134.31 到 134.35,在这种情况下,从 130 到 135 的比例会(在视觉上)压缩数据中的“显着性”——最好将比例从 134 绘制到 135,甚至可能134.3 至 134.4。数据值可能从 0.013431 到 0.013435,或者从 1343100 到 1343500。

因此,我试图找到一种优雅的方法来计算“粒度”,将下限向下舍入,将上限向上舍入,以生成“令人满意”的图表。人们可能只是以某种方式“破解”它,但这并不能让人相信“奇怪”的案例会得到很好的处理。

有什么想法吗?

最佳答案

只是一个想法:

  1. 在您的范围内增加大约 10%,根据经验调整这个数字
  2. 将范围大小除以您想要的刻度线数量
  3. 取该数字的以 10 为底的对数
  4. 将结果乘以三,然后舍入到最接近的整数
  5. 余数模 3 将告诉您是否希望最低有效小数以 1、2 或 5 为步长变化
  6. 整数除以 3 的结果将告诉您使用 10 的次方
  7. 取(扩展)范围并根据刚刚计算的刻度频率计算它包含的极值刻度点
  8. 确保所有数据点实际上都在该范围内,如果不在范围内则添加刻度
  9. 如果需要,通过将上面的整数减一来添加小刻度

关于algorithm - 给定数据范围,需要巧妙的算法来计算图轴刻度的粒度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404336/

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