绘制对数图(Javascript)

Mul*_*oon 4 javascript math audio graph

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

例如

阿布尔顿

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

在此输入图像描述

我需要的是数学来完成上面的任务。然后是一种在其上精确绘制 x 坐标的方法。

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

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

我想我需要一个函数将 1525Hz 转换为 px(或%)并在其上绘制。

非常感谢

Apr*_*ion 5

我会使用这样的东西(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
Run Code Online (Sandbox Code Playgroud)