Chart.jsの軸目盛の数値出力結果に合わせて変える

少し前に、JavaScriptで「Chart.js」というライブラリを使って、コードを書いた。

その時に、メモリの軸の値を設定したかったのだが、いまいちどういう風にすればよいか分からず手こずった。(結果メチャクチャ簡単だった)

でも、WEBサイトをみてもあまりヒットしなかったので、備忘録として掲載。

やりたいこと

こちらのサイトでの「計算結果」を元にグラフの軸目盛を作成したい。(以下図参照)
・計算結果は、JavaScriptの内部変数でデータを所持している。
・計算結果の「〇年目」と「金額」をグラフ表示の軸に設定したい

設定方法

①Chart.jsの組み込

〇HTML
<head></head>内に以下のCDNを組み込む。※2.9.3のバージョンにしてますが、最新版とかは公式から調べて使ってください。

        <!-- chart.jsをインポートする-->
        <script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.3/dist/Chart.min.js"></script>

②HTMLのbody内にグラフを表示させるためのidを設定する。

〇HTML
<body></body>内で、グラフを表示させたいところに以下の記述をする。idは任意の文字列で設定してください。

        <canvas id="chart_cal"></canvas>

③JavaScriptのコードを書く

〇JavaScript
コードの内容を解説する。

①関数の引数として「gragh_labels」「gragh_data」という配列を渡している。
「gragh_labels」・・・〇年目という文字列が複数格納された配列
「gragh_data」・・・このツールによって得られた投資結果の金額の配列

②labels : []の部分に配列データを渡す。ちなみに、直にデータをセットしても良い

③ data:[]の部分に配列データを渡す。

④ type: 'line',の部分にてグラフの形式を変えられる。以下サンプルは折れ線グラフ。
  ちなみに、bar→棒グラフ、pie→円グラフ、linear→散布図と色々オプションがあるので、試すと楽しい。

function chart_graph(gragh_labels,gragh_data){

 // データ --- (*1)
 const data = {
    labels: gragh_labels, //固定でのデータセット例→  ['2021年4月', '2021年5月', '2021年6月']
    datasets: [{
      label: '計算結果',
      borderColor: 'rgb(75, 192, 192)',
      data: gragh_data, //固定でのデータセット例→  ['10000', '20000', '30000']
    }]}
  // グラフを描画 --- (*2)
  const ctx = document.getElementById('chart_cal')
  const chart_cv = new Chart(ctx, {
    type: 'line', // グラフの種類
    data: data, // データ
    options: {}}) // オプション

};

結果

リンク先のように実装出来た。

簡単な話で、データセットの部分でJavaScriptの配列形式でデータを与えるだけ。

私自身、JavaScriptに慣れていなかったので、Chart.jsの構文を見ても[]が配列という認識が無く、無駄に手こずった。。。

また、感想だが、実装もしやすく、レスポンシブに動くChart.jsはとても便利で役に立つなぁと。

今後も使っていくと思います。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA