2012-04-03 63 views
2

我想在javascript中使用HTML 5的canvas元素製作繪圖函數。我遇到的問題是如何計算Y軸的標籤。計算圖Y軸標籤值

例如,當看到數爲4至96的陣列,對我來說最邏輯標籤將範圍從0到100與10

步驟考慮到與數字的陣列在一個更高的類別最大爲2375,我使用的最大標籤爲2500.

現在,你如何計算這樣的事情?我一直在尋找解決方案,但尚未找到解決方案。

由於提前, 巴特

回答

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