質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

523閲覧

javascript chart.jsで1ページの中に複数の棒グラフを設置したい

tottoki

総合スコア0

Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2023/04/24 15:57

chart.jsを使ったグラフを1ページの中に複数表示したいのですが1つしか表示されません。
過去の質問も読んでみたのですが、色々試してもできませんでした。
記述方法などご指摘いただけると幸いです。

よろしくお願いします。

<canvas id="chart1" height="80"></canvas>  <script> let lineCtx = document.getElementById("chart1"); // 線グラフの設定 let lineConfig = { type: 'bar', data: { // ※labelとデータの関係は得にありません labels: ['2013/3', '2014/3', '2015/3', '2016/3', '2018/3', '2019/3', '2020/3', '2021/3', '2022/3', '2023/3'], datasets: [{ label: 'A', data: [100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000], backgroundColor: '#004098', }, { label: 'B', data: [50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 450000, 500000], backgroundColor: '#236AB1', }, { label: 'C', data: [25000, 50000, 75000, 100000, 125000, 150000, 175000, 200000, 225000, 250000], backgroundColor: '#72AAE2', }], }, options: { scales: { // Y軸の最大値・最小値、目盛りの範囲などを設定する y: { suggestedMin: 0, suggestedMax: 1000000, ticks: { stepSize: 250000, } } }, }, }; let lineChart = new Chart(lineCtx, lineConfig);  </script> <canvas id="chart2" height="80"></canvas>  <script> let lineCtx = document.getElementById("chart2"); // 線グラフの設定 let lineConfig = { type: 'bar', data: { // ※labelとデータの関係は得にありません labels: ['2013/3', '2014/3', '2015/3', '2016/3', '2018/3', '2019/3', '2020/3', '2021/3', '2022/3', '2023/3'], datasets: [{ label: 'A', data: [100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000], backgroundColor: '#004098', }, { label: 'B', data: [50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 450000, 500000], backgroundColor: '#236AB1', }, { label: 'C', data: [25000, 50000, 75000, 100000, 125000, 150000, 175000, 200000, 225000, 250000], backgroundColor: '#72AAE2', }], }, options: { scales: { // Y軸の最大値・最小値、目盛りの範囲などを設定する y: { suggestedMin: 0, suggestedMax: 1000000, ticks: { stepSize: 250000, } } }, }, }; let lineChart = new Chart(lineCtx, lineConfig);  </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

h-kn

2023/04/25 02:43

前提の確認ですが、 1ページに<canvas>の高さ分(合計160)ありますか? CSSでcanvas 要素のheight 指定を行っていたりはないですか?
tottoki

2023/04/25 15:55

CSSでcanvas 要素のheight 指定は行っていません。
guest

回答1

0

https://noauto-nolife.com/post/chartjs-responsive-chart/

こちらはためしてみましたか?
(全く関係ありませんがtype: 'bar' は棒グラフだったはず)

投稿2023/04/25 02:53

h-kn

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tottoki

2023/04/25 15:59

試していませんが、高さの指定は問題なくできました。 ですが、グラフを複数設置すると片方が消えてしまって表示できません。
h-kn

2023/04/26 01:01 編集

かさなっているか消えているか、現状では判断できないので確認としてできることはこちらでしょうか。 - 以下の部分にて受ける変数名を別のものにする ```js let lineCtx = document.getElementById("chart1"); let lineChart = new Chart(lineCtx, lineConfig); let lineCtx = document.getElementById("chart2"); let lineChart = new Chart(lineCtx, lineConfig); ``` の部分を ```js let lineCtx1 = document.getElementById("chart1"); let lineChart1 = new Chart(lineCtx1, lineConfig); let lineCtx2 = document.getElementById("chart2"); let lineChart2 = new Chart(lineCtx2, lineConfig); ``` に変更
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問