2017-12-15 8 views
-1

Chart.jsチャートのY軸のラベルは、お金の価値のためにドル記号が前に表示されます。ChartJSでy軸のドル記号

このコードはドキュメントにありますが、私のためには機能しません。

var chart = new Chart(ctx, { 
    type: 'line', 
    data: data, 
    options: { 
     scales: { 
      yAxes: [{ 
       ticks: { 
        // Include a dollar sign in the ticks 
        callback: function(value, index, values) { 
         return '$' + value; 
        } 
       } 
      }] 
     } 
    } 
}); 

私の結果です。 '前'にこのコードがないと、 '後'が付きます。 明らかに値の前に$を追加するだけではありませんが、何か他のことも起こっています。

これを修正する方法はありますか?

+0

ただ、値を丸めます! – lilezek

+0

同意しますが、時には4桁目の小数点に、時には数千に上書きしてください。 – yoeriboven

答えて

-1

ここで問題となるのは、chart.jsは文字列を丸めません。なぜなら、それはあなたのためではないからです。

数字に文字列を追加すると、JavaScriptがそれを変換して精度を制御できなくなります。

あなたはあなたの問題を解決するためにtoFixedを使用することができます。

// Define wherever decimals: 
const decimals = 3; 
// ... 
var chart = new Chart(ctx, { 
    type: 'line', 
    data: data, 
    options: { 
     scales: { 
      yAxes: [{ 
       ticks: { 
        // Include a dollar sign in the ticks 
        callback: function(value, index, values) { 
         return '$' + value.toFixed(decimals); 
        } 
       } 
      }] 
     } 
    } 
}); 
+0

はい、変数の小数値は、グラフがロードされるたびに変更されます。それは動的なデータです。 – yoeriboven

+0

@yoeribovenは、表示する小数点以下の桁数を変更する必要があるたびに、小数点を変更します。 – lilezek

+0

@yoeribovenダウンボートを実行したかどうかは分かりませんが、どのような答えがありますか? 'Chart.js'はあなたのために文字列の中にある数字を魔法のように丸めません... – lilezek

関連する問題