【グラフ描画】Chart.jsの使い方をサンプルコードで解説!

AI画像,イメージ

グラフやチャートは、Webエンジニアがデータを視覚的に伝える方法として非常に有効的です。

そのため、グラフを描画するためのライブラリは多種多様に存在しています。

なかでも特におすすめなのが、簡単に美しいグラフを作成することができるJavaScriptのライブラリ「Chart.js」です。

本記事では、Chart.jsの基本操作から応用的な使い方までを徹底的に解説します。ぜひ参考にしてみてくださいね。

目次

Chart.jsの基本と導入方法

Chart.jsとは?

Chart.jsは、軽量かつレスポンシブ対応のグラフ作成ライブラリです。

ライングラフ、バーチャート、ドーナツチャートなど、さまざまなグラフのタイプがサポートされています。

導入の手順

Chart.jsを使用するには、まず以下のスクリプトタグをHTMLのheadセクションに追加します。

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

最初のチャートを描画する

基本的なライングラフを描画するには、以下のサンプルコードを記入します。


var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ['月', '火', '水', '木', '金'],
        datasets: [{
            label: '週間売上',
            data: [12, 19, 3, 5, 2],
            backgroundColor: 'rgba(75, 192, 192, 0.2)',
            borderColor: 'rgba(75, 192, 192, 1)',
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});

チャートのカスタマイズ

デザインのカスタマイズ

チャートデザインをカスタマイズする際は、以下のサンプルコードを使用します。


data: {
    datasets: [{
        backgroundColor: ['#FF6384', '#36A2EB', '#FFCE56'],
        borderColor: ['#FF6384', '#36A2EB', '#FFCE56'],
    }]
}

応用的な使用方法

外部データの取り込み

Web APIやデータベースから取得したデータを利用してグラフを描画する方法は、実際のアプリケーションでよく使用されます。

以下は、外部APIからデータを取得してChart.jsで描画するサンプルコードです。


async function drawChartFromAPI() {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();

    const ctx = document.getElementById('myChart').getContext('2d');
    new Chart(ctx, {
        type: 'line',
        data: {
            labels: data.labels,
            datasets: [{
                label: 'APIからのデータ',
                data: data.values,
                backgroundColor: 'rgba(75, 192, 192, 0.2)',
                borderColor: 'rgba(75, 192, 192, 1)',
                borderWidth: 1
            }]
        }
    });
}

drawChartFromAPI();

パフォーマンスとトラブルシューティング

パフォーマンスの最適化

特に大量のデータを表示する際は、パフォーマンスの最適化が重要です。

大量のデータを効率的に描画するには、以下のサンプルコードを使用します。


var data = {
    datasets: [{
        data: Array.from({length: 1000}, () => Math.floor(Math.random() * 100)),
        borderColor: 'rgba(75, 192, 192, 1)',
        borderWidth: 1,
        fill: false // 塗りつぶしをオフにすることで描画を高速化
    }]
};

var ctx = document.getElementById('myChart').getContext('2d');
new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        animation: {
            duration: 0 // アニメーションをオフにすることで描画速度を向上
        },
        responsiveAnimationDuration: 0 // リサイズ時のアニメーションもオフ
    }
});

よくあるトラブルと解決方法

問題: チャートが表示されない

解決策: 

チャートが表示されない場合は、canvas要素のサイズが適切に設定されているか確認しましょう。

また、データやオプションに誤りがないかどうかも再度見直しが必要です。

以下のように、canvas要素に明示的なサイズを設定してみてください。

<canvas id="myChart" width="400" height="200"></canvas>

まとめ

AI画像,イメージ2

Chart.jsを使いこなせるようになれば、ウェブページやアプリケーションにリッチなビジュアル表現を追加することが可能となります。

このガイドを参考に、基本的な使用方法から応用的なテクニックまでをマスターし、データビジュアライゼーションのスキルを向上させましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次