contact

blog-MainImage

Kabe-Log

2021-10-28

2021-11-11

ダークモードで使える。React-chatjs-2のテキストの色を変える方法

frontend,

React.js,

Library

React-chatjs-2で棒グラフを表示させたのですが、テキストの色を変えるのにかなり苦戦しました。使えるオプション一覧なども見つからず、英文で検索なども試し、1時間半ほど経ってようやく設定方法に辿り着きました。検索力を高めたい…。

Chart.jsとReact-chartjs-2とは

Chart.jsとは、JavaScript でグラフ(チャート)を描画するためのライブラリです。Canvasを使用しています。 React-chartjs-2はchart.jsをreactのプロジェクトで使いやすくしたものです。

React-chartjs-2でグラフの表示

Chart.jsとreact-chartjs-2をインストールします。

yarn add chart.js react-chartjs-2

指定のコンポーネント内で、React-chartjs-2からBarをimportします。

import { Bar } from "react-chartjs-2"; const data = { labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], datasets: [ { label: "# of Votes", data: [12, 19, 3, 5, 2, 3], backgroundColor: [ "rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(255, 206, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(153, 102, 255, 0.2)", "rgba(255, 159, 64, 0.2)", ], borderColor: [ "rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)", "rgba(255, 206, 86, 1)", "rgba(75, 192, 192, 1)", "rgba(153, 102, 255, 1)", "rgba(255, 159, 64, 1)", ], borderWidth: 1, }, ], }; const Graph = (): JSX.Element => { return <Bar data={data} /> }; export default Graph;

chartjs-2-1.png

棒グラフが作成できました。オプションを設定せずとも、デザイン含めクオリティが高いです。

機能としては十分ですが、背景が暗い場合にテキストが黒だと、見えにくくなってしまいます。 今時のサイトは、ダークモード設定は当たり前になってきているのでその点を考えても、テキストの色を変えれないのは痛いです。

chartjs-2-2.png

やはりテキストやメモリ線が見にくいです。

変更方法

以下のoptionsを作成します。

const options = { plugins: { //タイトル関連 legend: { labels: { color: "#fff", font: { size: 20, }, }, }, }, scales: { //x軸関連 x: { grid: { drawBorder: true, color: "#fff", //borderの色 }, ticks: { color: "#fff", //テキストの色 font: { size: 16, }, }, }, //y軸関連 y: { grid: { drawBorder: true, color: "#fff", }, ticks: { color: "#fff", font: { size: 16, }, beginAtZero: true, }, }, }, };

オプションを指定します。

<Bar data={data} options={options} />

chartjs-2-3.png

いかがでしょうか。かなり見やすくなったと思います。

他にもオプションを追加することで、アニメーションをつけたりできますので、気になる方は調べてみてください。

search

recommended

AWS資格 SAPとSOAを取得したので、対策や受験時の感想について
2022-05-23AWS資格 SAPとSOAを取得したので、対策や受験時の感想について
実務経験一年の転職活動(エンジニア生活:2月)
2022-03-15実務経験一年の転職活動(エンジニア生活:2月)
2022年は、フルスタックエンジニアに(エンジニア生活:1月)
2022-02-072022年は、フルスタックエンジニアに(エンジニア生活:1月)
「AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ」を読んだ感想
2022-01-29「AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ」を読んだ感想
エンジニア転職した一年の振り返り
2022-01-04エンジニア転職した一年の振り返り
Remixと朝活(エンジニア生活:11月)
2021-12-02Remixと朝活(エンジニア生活:11月)

contact