这是数学/ javascript之一。因此,在javascript中,我使用div作为条形图进行直方图,并使用左边距属性对它们进行x间距。所以我希望以对数方式缩放这个间距。
不是这样的:
酒吧---- ----棒杆---- ----巴巴----酒吧
但是这样的事情:
酒吧---------酒吧------ ----巴巴 - 棒杆
请注意,div的总数( bars 变量)可能会更改(不在运行时)。 我很难找到 x 对数值,对于每个i从0到条,并且正确的边距值与100%containerDiv宽度相关。
for (var i = 0; i < bars; i++) {
$("<div/>").css("left", i * x + "%").appendTo(containerDiv);
}
感谢任何帮助,谢谢。
答案 0 :(得分:0)
设置一些maxLeft
变量,然后就可以使用这样的函数
const maxLeft = 100;
f = (i) => maxWidth * Math.log(i+1) / Math.log(bars.length)
或者如果您使用的是较旧的JavaScript版本
function (i) {
var maxLeft = 100;
return maxLeft * Math.log(i+1) / Math.log(bars.length)
}