まずワイヤーを作成し、その後チュートリアルでチャートJSを埋め込んで、更にその後、ワイヤーに沿ってチャートを作成し、PC、SP版で表示を確認します。
最後に、SP版のyAxesの表示を調整します。
### ワイヤー
直近1年の受注件数を棒グラフか折れ線グラフで表現したい
ワイヤーはざっくり作っただけなので、作りながら調整する
### Chart.jsのCDN
公式サイトを覗きます: https://cdnjs.com/libraries/Chart.js
-> 2.9.3が最新で出てきます。圧縮版のmin.jsを使います。
### チュートリアル
<body> <h1>棒グラフ</h1> <canvas id="my_chart">Canvas is not supported...</canvas> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> <script> (function(){ 'use strict'; var type = 'line'; var data = { labels: ['1月', '2月', '3月', '4月'], datasets: [{ label: '売上高', data:[1200000, 1350000, 1140000, 1090000] }] }; var options; var ctx = document.getElementById('my_chart').getContext('2d'); var myChart = new Chart(ctx, { type: type, data: data, options: options }); })(); </script> </body>
### 折れ線から棒グラフにカスタマイズ
– minを0からスタートにする
– optionを追加
<body> <h1>グラフ</h1> <canvas id="my_chart">Canvas is not supported...</canvas> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> <script> (function(){ 'use strict'; var type = 'bar'; var data = { labels: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], datasets: [{ label: '売上高', data:[1200000, 1350000, 1140000, 1090000, 650000, 2300000, 990000, 950000, 1120000, 1340000, 750000, 1450000], backgroundColor: "rgba(63, 191, 191, 0.5)" }] }; var options = { scales: { yAxes: [{ ticks: { suggestedMin: 0, callback: function(value, index, values){ return value + '円' } } }] } } var options; var ctx = document.getElementById('my_chart').getContext('2d'); var myChart = new Chart(ctx, { type: type, data: data, options: options }); })(); </script> </body>
これをトップページに入れ込む
PC
sp
### spの場合はyAxisを表示させたくない
UserAgentでiPhoneかAndroidを含む場合は、yAxesのdisplayをfalseにしたい
if(navigator.userAgent.match(/iPhone|Android.+Mobile/)){ var display = false; } else { var display = true; } var type = 'bar'; var data = { labels: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], datasets: [{ label: '売上高', data:[1200000, 1350000, 1140000, 1090000, 650000, 2300000, 990000, 950000, 1120000, 1340000, 750000, 1450000], backgroundColor: "rgba(63, 191, 191, 0.5)" }] }; var options = { responsive: true, scales: { yAxes: [{ ticks: { display: display, suggestedMin: 0, callback: function(value, index, values){ return value + '円' } } }] } }
SP
やりたいことは出来た。