何をするか?
D3.js は、Web ブラウザ上で様々なデータをビジュアライズするためのデファクトスタンダードな描画ライブラリです。
ここでは、React (Next.js) アプリ内で、D3.js を使って簡単なチャートを描画してみます。
☝️ ほかの描画ライブラリ
JavaScript による描画ライブラリには、他にも Chart.js や Mermaid.js などいろいろなものがあります。
Chart.js を使うと、は折れ線グラフや散布図などを簡単に描画することができます。
Mermaid.js を使うと、独自フォーマットのテキストをもとにフローチャートなどを描画することができます。
これらの描画ライブラリは、D3.js と比べて簡単に使うことができますが、描画可能な図の種類は限られています。
一方、D3.js は高度なカスタマイズや自由度の高いデータの可視化が可能ですが、初学者にとってはやや学習コストが高くなっています。 D3.js のインストール
NPM あるいは Yarn で、プロジェクトに D3.js の依存を追加します。
TypeScript を使用している場合は、D3.js 本体 (d3
) に加え、型情報 (@types/d3
) もインストールします。
React コンポーネント内で D3.js を使う
React アプリは作成済みであるとし、D3.js を使って描画を行うコンポーネントを新しく作成します。
次の HelloChart
コンポーネントは、D3.js を使って簡単な棒グラフを描画します。
内部的に svg
要素を保持しており、その中に複数の rect
を配置することで棒グラフを構築しています。
useRef
フックで svg
要素の参照を取得し、D3.js の描画先として設定しています。
あとは、何らかのページでこの HelloChart
コンポーネントを呼び出すだけです。
次のように svg
要素が表示されれば成功です。
٩(๑❛ᴗ❛๑)۶ わーぃ
関連記事