Javascript 如何获得直方图x轴的对数值
这是math/javascript。所以,在javascript中,我使用div为条绘制直方图,并使用left-margin属性对条进行x间距。所以我想用对数的方式来缩放这个间距 不是这样:Javascript 如何获得直方图x轴的对数值,javascript,html,css,math,audio,Javascript,Html,Css,Math,Audio,这是math/javascript。所以,在javascript中,我使用div为条绘制直方图,并使用left-margin属性对条进行x间距。所以我想用对数的方式来缩放这个间距 不是这样: 酒吧----酒吧----酒吧----酒吧----酒吧----酒吧----酒吧 但是像这样的: 吧台------吧台------吧台------吧台------吧台 请注意,div(条变量)的总数可能会更改(不是在运行时)。 我很难找到x对数值,每个I从0到条,适当的边距值与100%容器IV宽度相关 for
酒吧----酒吧----酒吧----酒吧----酒吧----酒吧----酒吧 但是像这样的:
吧台------吧台------吧台------吧台------吧台 请注意,div(条变量)的总数可能会更改(不是在运行时)。 我很难找到x对数值,每个I从0到条,适当的边距值与100%容器IV宽度相关
for (var i = 0; i < bars; i++) {
$("<div/>").css("left", i * x + "%").appendTo(containerDiv);
}
for(变量i=0;i
非常感谢您的帮助。设置一些
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)
}
那么,你不能只使用
Math.log
(或者Math.log10
)吗?它们将返回不适合%值的小数字,因此可能会添加一个缩放倍增.css(“left”,(Math.log(i)*scale)+“%”
应该可以做到这一点。