我正在尝试使用HTML 5的canvas元素在javascript中创建一个绘图函数。我遇到的问题是如何计算Y轴的标签。
例如,当您看到一个数字范围从4到96的数组时,对我来说,大多数逻辑标签的范围是0到100,步长为10。
给定一个数字在较高类别中且最大值为例如2375的数组,我将使用的最大标签为2500.
现在,你如何计算这些东西?我一直在寻找解决方案但尚未找到解决方案。
提前致谢, 巴特
答案 0 :(得分:0)
不幸的是,没有简单的方法可以做你想做的事。如果您知道需要一定数量的刻度(例如十个),则可以始终将最大值除以刻度数。问题是你会有非常糟糕的刻度标签。例如,对于2375,你可以每237.5单位勾选一次,当你可能想要每250个刻度时,这是非常“好”。获得那些漂亮的圆形刻度值的唯一方法是使用这样的逻辑:
if( maxValue < 100 ) {
tickValue = 10;
else if( maxValue < 500 ) {
tickValue = 50;
else if( maxValue < 1000 ) {
tickValue = 100;
else if( maxValue < 1500 ) {
tickValue = 150;
} // ...etc