2016-12-29 18 views
0

this exampleに基づいてレーダーチャートを作成しています。しかし私のデータは%で示されていません。それは数分で与えられます。レーダーチャートのスケールを数値から数値に変更する方法

 [ 
     {axis:"AAA",value:2.56}, 
     {axis:"BBB",value:1.27}, 
     {axis:"CCC",value:2.01}, 
     {axis:"DDD",value:2.71} 
     ],[ 
     {axis:"AAA",value:2.28}, 
     {axis:"BBB",value:1.05}, 
     {axis:"CCC",value:1.81}, 
     {axis:"DDD",value:2.30} 
     ] 
    ]; 

答えて

1

データに乗算されていません。問題は、スケールは、データが100

乗算されたときにこれが私のデータセットです自動的%に変換され、そして、私はコード内の場所を見つけることができないということです

.text(Format((j+1)*cfg.maxValue/cfg.levels)); 
:フォーマットは、グリッドのためにここに適用される

var Format = d3.format('%'); 

:100によって、むしろそれはRadarChart.jsにおけるパーセンテージとしてフォーマットされ

そして、ここでマウスオーバーのために:また、最も外側の値(maxValueのは)script.jsに設定されている

.text(Format(d.value)) 

var mycfg = { 
    w: w, 
    h: h, 
    maxValue: 0.6, 
    levels: 6, 
    ExtraWidthX: 300 
} 

非割合データを表示するには、あなたが言う、数の書式を再定義することができ

var Format = d3.format(""); 

数字の書式設定に関心がない場合は、その数字への参照をすべて削除することができます。 Format(d.value)の代わりに、単にd.valueを使用できます。もちろん、最大値についてもsimliarにする必要があります。

数値の書式を設定するかどうかを決定した後も、maxValueをリセットしてデータセットを操作する必要があります。


軸が分の場合、d3.formatは値の書式を設定する最も適切な方法ではない可能性があります。 D3.time.formatが良いかもしれません。いずれか、または必要に応じて分と秒を出力するカスタム関数を作成することができます。

関連する問題