绘制对数图(Javascript)

时间:2012-02-20 20:09:20

标签: javascript math audio graph

这有点棘手, 我想为频谱生成一些图线。

e.g。

Ableton

看看x轴图线如何以这种方式对数变化......

enter image description here

我需要的是上面的数学运算。然后是一种准确绘制x坐标的方法。

我希望以这种方式在x轴上绘制20Hz到16000Hz之间的频率。

(我不太担心绘图部分我可以使用画布,我只是坚持数学)

我想我需要一个函数将1525Hz转换成px(或%)来绘制它。

非常感谢

1 个答案:

答案 0 :(得分: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