2017-05-01 9 views
0

これは数学/ javascriptのものです。だから、javascriptで私は左のマージンのプロパティを使用して棒とx - 間隔のdivを使用してヒストグラムをやっている。だから、私はこの間隔を対数的にスケールしたいと思っています。
バー----バー----バー----バー----バー----バーヒストグラムにx軸の対数値を取得する方法

しかし、このような何か:
bar--

これが好きではありません------- bar ------ bar ---- bar - bar-bar

変数の総数(小節)は(実行時ではなく)変更されることがあります。 xの対数の値が0からの範囲で、から100%のcontainerDivの幅に関連する適切なマージンの値を持つことがわかりました。

for (var i = 0; i < bars; i++) { 
    $("<div/>").css("left", i * x + "%").appendTo(containerDiv); 
} 

ご協力いただきありがとうございます。いくつかmaxLeft変数を設定

+0

だからあなただけの 'Math.log'(使用することはできませんJavaScriptが古い場合などの機能をすることができますまたは 'Math.log10')?彼らは%値には適していない小さな数値を返しますので、倍率乗数を追加してください。 '.css(" left "、(Math.log(i)* scale)+"% ")'はこのトリックを行うべきです。 – Ede

答えて

0

、その後、あなたはこの

const maxLeft = 100; 
f = (i) => maxWidth * Math.log(i+1)/Math.log(bars.length) 

それともにバージョン

function (i) { 
    var maxLeft = 100; 
    return maxLeft * Math.log(i+1)/Math.log(bars.length) 
} 
関連する問題