0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Chart.js]折れ線グラフの縦軸を反対にする方法

Last updated at Posted at 2022-10-21

はじめに

今回ポートフォリを制作するにあたってChart.jsを使用し折れ線グラフを表示させました。
その中で折れ線グラフの縦軸を反対にしました。
あまり需要がないのか、実際に記事にされているものが無かったため公式を調べ実装を行いました。
この知識が誰かの役に立てば幸いと思い記事を書かせてもらいます。

今回記述するグラフについて

修正前

line_graph.html.erb
document.addEventListener('turbolinks:load', function() {
  var ctx = document.getElementById('line_graph');
  var myChart = new Chart(ctx, {
      type: 'line',
      data: {
        labels: ['1回前', '2回前', '3回前', '4回前', '5回前', '6回前', '7回前', '8回前', '9回前', '10回前'],
        datasets: [{
          label: '順位',
          data: <%= user.limit(10).pluck(:rank) %>,
          borderColor: 'rgba(0, 128, 0, 1)',
          lineTension: 0,
          fill: false,
          borderWidth: 3
        }]
      },
      options: {
        // animation: false// アニメーションOFF
        scales: {
          yAxes: {
              ticks: {
                  stepSize: 1,
              }
          }
        }
      }
  });
});

少しグラフについて説明させてください。
直近10回でのゲームでの順位を表示するグラフです。
なので10回戦まで表示出来るようにしてあります。
options内のanimationをコメントアウトしてあります。ここのコメントを外すことで、アニメーションをカットしてロードを少し早く出来ます。
このコードで記述されるグラフがこちらです。
スクリーンショット 2022-10-21 18.35.54.png
Y軸に順位が表示されるのですが、4位が上になってるのが気持ち悪いな〜っといった感じです。

修正

optionsのscales内にreverse: trueを記述してあげます。

line_graph.html.erb
document.addEventListener('turbolinks:load', function() {
  var ctx = document.getElementById('line_graph');
  var myChart = new Chart(ctx, {
      type: 'line',
      data: {
        labels: ['1回前', '2回前', '3回前', '4回前', '5回前', '6回前', '7回前', '8回前', '9回前', '10回前'],
        datasets: [{
          label: '順位',
          data: <%= user.limit(10).pluck(:rank) %>,
          borderColor: 'rgba(0, 128, 0, 1)',
          lineTension: 0,
          fill: false,
          borderWidth: 3
        }]
      },
      options: {
        // animation: false// アニメーションOFF
        scales: {
          yAxes: {
              ticks: {
                  stepSize: 1,
              }
              reverse: true
          }
        }
      }
  });
});

このコードで表示されるグラフがこちらです。
スクリーンショット 2022-10-21 18.35.02.png
Y軸が反対で表示されるようになりました。
以上です。
もしこの記事が誰かの役に立てたなら幸いです。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?