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

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

新規登録して質問してみよう
ただいま回答率
85.31%
JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1271閲覧

Chart.jsで作成した複合グラフのラベルの文字色を各々変更したい

y_uta

総合スコア2

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1グッド

1クリップ

投稿2023/12/15 10:49

実現したいこと

Chart.jsで作成した複合グラフのラベルの文字色を各々変更したい。

前提

html+cssでWEBサイト制作。

JSライブラリのChart.js、プラグインのchartjs-plugin-datalabelsを使用して、
棒グラフと折れ線グラフの複合グラフを作成しています。

Chart.js Ver3.0.0
chartjs-plugin-datalabels Ver2.0.0

発生している問題

chartjs-plugin-datalabelsで表示したラベルの文字色を、
棒グラフと折れグラフで変更したいです。

該当のソースコード

<script src="https://cdn.jsdelivr.net/npm/chart.js@3.0.0/dist/chart.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2.0.0"></script> <div clsss="graph"> <canvas id="wfchart"></canvas> </div> <script> const myChart = new Chart( document.getElementById( 'wfchart' ), { type: 'bar', data: { labels: ['A', 'B', 'C', 'D', 'E'], datasets: [ { type: 'line', label: '例1', data: [50,100,350,200,300], borderColor : "#666", pointBackgroundColor : "rgba(23, 121, 189, 1)", fill: false, yAxisID: "Chart1", }, { type: 'bar', label: '例2', data: [100,200,300,400,500], yAxisID: "Chart2", backgroundColor: "#444", barPercentage: 0.4, }, ], }, options: { responsive: true, scales: { x: { display: false }, y: { type: "linear", min: 0, max: 500, ticks: { color: '#171717', }, grid: { borderColor: "rbga(10,10,10,0.3)", borderWidth: 1, borderDash: [4, 1], borderDashOffset: 0.0, circular: false, display: true, drawBorder: true, drawOnChartArea: true, drawTicks: true, lineWidth: 1, offset: false, z: 0, }, }, Chart1: { position: 'right', type: "linear", min: 0, max: 500, ticks: { color: '#171717', }, display: false, }, Chart2: { type: "linear", display: false, position: 'right', }, }, plugins: { tooltip: { enabled: false }, datalabels: { font: { size: 13, }, formatter: function( value, context ) { return value.toString(); } } } }, plugins: [ ChartDataLabels, ], } ); </script>

試したこと

各data内のdatasets内のcolorを変更→変化なし

補足情報(FW/ツールのバージョンなど)

上記ソースコピペでそのまま動かせます。

chartjs、chartjs-plugin-datalabelsについて情報があまりないのと、
JS初学のため試せることが少なく申し訳ないです。
回答いただけると助かります。

usagilove👍を押しています

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

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

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

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

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

y_uta

2023/12/16 14:06

コメントありがとうございます! 公式ドキュメントに記載があったのですね、、、、 教えていただきありがとうございます、次回以降はきちんとドキュメントを確認して解決しなかったら質問いたします。
guest

回答1

0

ベストアンサー

下記ではどうでしょうか

js

1 2<script> 3 const myChart = new Chart( 4 document.getElementById('wfchart'), 5 { 6 type: 'bar', 7 data: { 8 labels: ['A', 'B', 'C', 'D', 'E'], 9 datasets: [ 10 { 11 type: 'line', 12 label: '例1', 13 data: [50, 100, 350, 200, 300], 14 borderColor: "#666", 15 pointBackgroundColor: "rgba(23, 121, 189, 1)", 16 textStrokeColor: "#FFF", 17 fill: false, 18 yAxisID: "Chart1", 19 // <<<<<<<<<<<<<<<<< 追加 <<<<<<<<<<<<<<<<<<< 20 datalabels: { 21 labels: { 22 value: { 23 color: "green", 24 } 25 } 26 }, 27 // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 28 }, 29 30 { 31 type: 'bar', 32 label: '例2', 33 data: [100, 200, 300, 400, 500], 34 yAxisID: "Chart2", 35 backgroundColor: "#444", 36 barPercentage: 0.4, 37 // <<<<<<<<<<<<<<<<< 追加 <<<<<<<<<<<<<<<<<<< 38 datalabels: { 39 labels: { 40 value: { 41 color: "blue", 42 } 43 } 44 }, 45 // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 46 }, 47 ], 48 }, 49 options: { 50以下略

投稿2023/12/16 00:41

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

y_uta

2023/12/16 14:07

ソースまで提示いただきありがとうございます! datalabelの扱いについて理解できていませんでした。 ご回答頂きありがとうございました。
y_uta

2023/12/16 14:07

記載漏れたので連投失礼します。 記載いただいた内容で解決いたしました、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問