>> テーマ変更に伴い見づらい箇所や不具合があるかもしれません、ご迷惑をおかけします。→
PR

コピペで!Cocoonで棒グラフを表示する方法「Chart.js」

棒グラフ Cocoon・使い方
この記事は約8分で読めます。


はじめに

「Chart.js」では、棒グラフ円グラフ折れ線グラフレイダーチャートなど多彩なグラフを好きな色に設定して表示する事が出来ます。
それらを組み合わせた混合チャートも可能です。

様々なグラフのサンプルは公式サイトで見る事が出来ます。

Chart.js(公式サイト)
Chart.js ドキュメント

この記事は棒グラフのCocoonでの使い方です。

棒グラフサンプル

チャートの設定方法

  • type:描画するグラフの種類
  • data:ラベルとデータセット
  • options:オプション設定

グラフの種類は「type」で指定します。

それぞれの詳細な使い方記事は、以下の表内リンクから。

テーマが「Cocoon」の場合は右側のリンクから、
それ以外は左側のリンクからご覧ください。
表示サンプルtype設定方法
一般Cocoon
レーダーチャートサンプルradarレーダーチャート
詳細詳細
折れ線グラフサンプルline折れ線グラフ
詳細詳細
棒グラフサンプルbar棒グラフ
詳細詳細
円グラフサンプルpie円グラフ
詳細詳細
ポーラーチャートサンプルpolarAreaポーラーチャート
詳細詳細
ドーナツチャートサンプルdoughnutドーナツチャート
詳細詳細
複合グラフサンプルbar、line複合グラフ
詳細詳細
散布図サンプルscatter散布図
バブルチャートサンプルbubbleバブルチャート

棒グラフ

棒グラフtype: ‘bar’ の実装方法です。

コピペで使って頂けるようにコードを紹介します。

手順

手順
  • STEP1
    JS読み込み
    Chart.jsを読み込むコードを記述(1行のみ)
  • STEP2
    コード編集
    JavaScriptを記述(データやデザイン設定)
  • STEP3
    表示コード
    HTMLを記述(1行のみのグラフ表示用タグ)

Chart.jsを読み込む

埋め込み場所について

ヘッダーかフッター

子テーマの「footer-insert.php」か「head-insert.php」に記述しますが、

フッターに入れた場合、ページサイズが大きい(スクロールが長い)場合など、グラフが表示されない事もあったので、ヘッダーの方が安心ですが、ページ表示速度を考慮すると フッターの方が良いでしょうか。 ご自身の判断でどちらかに★

ヘッダーページ表示時に間違いなくグラフ表示される

フッターうまく表示されない事もある? がページ表示が速い?

外観テーマエディターから

tmp-userの中にあります。

footer-insert.php」か「head-insert.php」いずれかに埋め込みコードを記載します。

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script>

jsファイルを特定記事のみで読み込ませたい場合などは以下を参考にして下さい。

JavascriptやCSSを特定ページのみで読み込ませる
サイト全体で使うもの以外は、使うページのみで読み込ませる方が無駄がなく便利です。 当サイトでは、グラフを使った解説ページがいくつかある為、その記事のみで読み込ませるようにしています。 サンプルはグラフ表示のJavaScriptファイル「Ch...

function.phpでも可

固定ページではグラフ表示する事がない場合は、記事ページのみで読み込むようにする事も出来ます。

その場合は、function.phpに以下のように記述して下さい。

//レーダーチャート(Chart.js)
add_action('wp_enqueue_scripts', 'themeslug_enqueue_script');
function themeslug_enqueue_script(){
if (is_single()) {
    wp_register_script('chart-js', 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js', null, null, false);
    wp_enqueue_script('chart-js');
  }
}

JavaScriptを記述

記述場所

表示したいページの記事編集画面にある「カスタムJavaScript」に記述します。

カスタムJavaScript

上図の赤枠部分にカーソルを載せると拡大出来ます

カスタムJavaScript

カスタムJavaScript」エリアが表示されていない場合は、表示オプションで確認し、「カスタムJavaScript」にチェックを入れます。

カスタムJavaScript

棒グラフ

サンプルグラフは3本のグラフを表示していますが、もちろん1本も可能ですし、もっと多くのデータでもOKです。

コードを表示
  var ctx = document.getElementById("myBarChart");
  var myBarChart = new Chart(ctx, {
    type: 'bar',
    data: {  //データ項目のラベル
      labels: ['1月', '2月', '3月', '4月', '5月'], //横軸ラベル
      datasets: [
        {
          label: '訪問者数', //グラフ1
          data: [120,140,180,150,210],
          backgroundColor: "rgba(200,112,126,0.5)"
        },{
          label: 'PV数', //グラフ2
          data: [190,230,380,320,480],
          backgroundColor: "rgba(80,126,164,0.5)"
        },{
          label: 'セッション数', //グラフ3
          data: [160,180,220,190,300],
          backgroundColor: "rgba(230,180,34,0.5)"
        }
      ]
    },
    options: {
      title: {
        display: true,
        text: 'Aサイト分析' //グラフタイトル
      },
      scales: {
        yAxes: [{
          ticks: {
            suggestedMax: 250,
            suggestedMin: 0,
            stepSize: 50,
            }
        }]
      },
    }
  });

簡単解説

chart.js Bar(棒グラフ)解説 ※外部リンク

1行目で記述している「myBarChart」は、任意の名称です。

同一ページ内に複数のグラフを表示する際には、この名称をそれぞれに設定します。

例:棒グラフを2つ表示

myBarChart1

myBarChart2

横軸ラベル

横軸のラベルを設定。

labels: [‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’], //横軸ラベル

棒グラフサンプル

データ項目ラベル

label: '訪問者数', //グラフ1
・・
label: 'PV数', //グラフ2
・・
label: 'セッション数', //グラフ3

棒グラフサンプル

項目数はいくつでもOKです。増やした場合は、データ内容も同数にする事をお忘れなく!

グラフデータ

実際の数値をグラフの数だけ設定します。※サンプルでは3か所

data: [120,140,180,150,210] //グラフのデータ

オプション

グラフ上に表示するテキスト(グラフタイトル)を設定しています。

options: {
title: {
display: true,
text: 'Aサイト分析' //グラフタイトル
}
}

HTMLを記述

表示したい場所に記述します。

<canvas id="myBarChart">
</canvas>

注意点

表示する為のHTMLはこれだけですが、上記コードのように、

閉じるタグ(</canvas>)の前に改行を入れます。

WordPressの場合、タグのみの行はビジュアルエディタとテキストエディタを行き来するだけで消えてしまうのを防ぐ為です。

何かしらの文字を入れれば消えませんが、今回は文字の必要がない為、一番楽な「改行」で対応しています。

以上で完了です。

グラフが表示されない時

記述したJavaScriptとHTMLを見直して下さい。

以下の部分が同じになっている事を確認する

JavaScript

1~2行目

var ctx = document.getElementById(“myBarChart“);
var myBarChart= new Chart(ctx, {

HTML

<canvas id=”myBarChart“>

2つ以上のグラフを表示している場合や、他の部分で同じ名称を使っていないかを確認する

上記の解説にも書きましたが、複数のグラフを同一ページ内で表示する場合は、名称を変える必要がありますのでご注意下さい。

例:棒グラフを2つ表示

myBarChart1

myBarChart2

JavaScript、HTMLのそれぞれに対応して名称が間違えていないか確認。

コメント

'+'>'}}})()
タイトルとURLをコピーしました