Chart.js レーダーチャートで凡例最小値が中心に来ちゃう問題
Chart.jsを使ってレーダーチャートを以下のように表示したかった。
・自己のスキルをレーダーチャートで表示したい
・スキルは0~4の5段階とした。
・表示するスキルに0は無い(なら書かなくてもいい)ので、実際0になる凡例はない
・データは1~3の間で、4も無い
で、諸々のデータを入力し表示させてみたところ、
凡例の最小値(この場合は1)がレーダーの中央に来てしまっていた。
このままだと、最小値のスキルが0の様に見えてしまうので良くない。
原因はオプションの記述にあった。
間違った記述
options: { legend: { display: false, responsive: true, //スケールの設定 scale: { display: false, ticks: { // 目盛り値のカスタマイズ stepSize: 1, // 最小値の値を0指定 beginAtZero:true, max: 4, min: 0 } } } }
正しい記述
options: { responsive: true, legend: { display: false }, //スケールの設定 scale: { ticks: { // 目盛り値のカスタマイズ stepSize: 1, // 最小値の値を0指定 beginAtZero:true, max: 4, min: 0 } } }
間違っていたのは、メモリの値のカスタマイズを担当しているscale さんが
legend:{} の中に入ってしまっていたところ。
目的の設定としては、
options: {
scale:{
ticks:{
の中に、stepSizeやmin,maxの設定を入れればOK。
optionsはいろいろあって並べていくとよくわからなくなっていくので
どのオプションがどこの入れ子になっているべきなのか。
あと無駄に広げずに一旦完結できるところは閉じる。 あたりを意識していきたい。