我的取值范围是0到22050。我将它们线性地绘制在HTML画布上。当图形正确显示时-我想以对数刻度显示它们-相同的值,但x轴应分别代表0、10、100、1000、10000、100000(而不是0-22050线性)。
有任何想法吗?
谢谢

最佳答案

绘制log10(y)而不是y,但是用10 ^ v而不是v标记刻度线。

您可以将log10(y)实现为log(y)/ log(10)。因此,在JavaScript中,Math.log和Math.pow应该足够了。

对于整数v,这将为您提供10的幂,但是如果您希望在其他点之间使用漂亮的标签,则需要使用合理的分数(例如log10(2)和log10(5)),而不仅仅是四舍五入到一个小数这样。

关于javascript - 对数表示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45382797/

10-10 21:17