最近、Unityの記事ばかりでしたが(笑)それ以外も。
Javascriptでのグラフ描画で大変お世話になるChart.js。皆さん使っていますか?
久しぶりにこれを使ってグラフを描いたのですが、どのバージョンからから?少しだけオプション周り指定が変わっていました。巷では古い指定方法ばかりが記事として上がってくるので、ここにまとめておきます。
CDNで読み込み
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
このあたりは変化なし。
HTMLタグの記載
<div>
<canvas id="myChart"></canvas>
</div>
ここも変化なし。
Javascript
const CHART_COLORS = {
red: 'rgb(255, 99, 132)',
orange: 'rgb(255, 159, 64)',
yellow: 'rgb(255, 205, 86)',
green: 'rgb(75, 192, 192)',
blue: 'rgb(54, 162, 235)',
purple: 'rgb(153, 102, 255)',
grey: 'rgb(201, 203, 207)'
};
const data = {
labels: ['Red', 'Orange', 'Yellow', 'Green', 'Blue'],
datasets: [
{
label: 'Dataset',
data: [30, 30, 20, 10, 10],
backgroundColor: Object.values(CHART_COLORS),
}
]
};
const config = {
type: 'doughnut',
data: data
};
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, config);
ざっくりこんな感じ。
ドキュメントだと、onreadyイベント内に書かれていないので、HTMLタグよりも後ろにJSを置いてあげる必要がありますが、onready内で書く場合は特に意識する必要はありません。
上記の表示サンプル
ここまでは従来どおりです(笑)
違いは?
では、なにが変わったのか?
options周りが変わってました
従来、凡例表示をカットしようと思うと、
const config = {
type: 'doughnut',
data: data,
options: {
legend: {
display: false
}
}
};
こんなソースだったのですが、これが動かず。
const config = {
type: 'doughnut',
data: data,
options: {
plugins: {
legend: false
},
},
};
pluginsの中で指定するようになっていました。
ツールチップの非表示についても同様に、plugins配下で行うようになっていましたので、他のオプション周りも色々と変わっていそうな予感です。
あれ、オプションが効かない?そんな時は最新のドキュメントを参考にしてみてください。