计算图表Y轴标签值

时间:2012-04-03 22:11:22

标签: javascript plot label axis-labels

我正在尝试使用HTML 5的canvas元素在javascript中创建一个绘图函数。我遇到的问题是如何计算Y轴的标签。

例如,当您看到一个数字范围从4到96的数组时,对我来说,大多数逻辑标签的范围是0到100,步长为10。

给定一个数字在较高类别中且最大值为例如2375的数组,我将使用的最大标签为2500.

现在,你如何计算这些东西?我一直在寻找解决方案但尚未找到解决方案。

提前致谢, 巴特

1 个答案:

答案 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