2012-02-20 24 views
2

這有點棘手, 我想爲頻譜生成一些圖線。繪製對數圖(Javascript)

例如

http://www.digitalmusicdoctor.com/reviews/compare/images/full/Ableton_Live_EQ_8_edit.jpg

見x軸的圖線如何以這種方式對數改變...

我需要的是數學要做到這一點上面。然後以一種方式精確地繪製x座標。

我想以這種方式在x軸上繪製20Hz到16000Hz之間的頻率。

(我不是太擔心拱起部我可以用帆布,我只是停留在數學)

我想那我就需要一個功能轉換說1525Hz爲PX(或%)被繪製在它上面。

非常感謝

回答

2

我會使用像這樣(活生生的例子在jsFiddle):

var min_f = Math.log(20)/Math.log(10), 
    max_f = Math.log(16000)/Math.log(10), 
    range = max_f - min_f, 
    position_px = (Math.log(frequency)/Math.log(10) - min_f)/range * width_px 
+0

優秀。這工作,謝謝。起初,我認爲這需要重複,因爲它看起來像有幾個彼此相鄰。但情況並非如此,只有單位部門發生變化。謝謝。 – Mulhoon 2012-02-21 15:14:48