ホームページ >ウェブフロントエンド >jsチュートリアル >d3.jsと反応を使用したインタラクティブなデータの視覚化を構築します
このガイドは、D3.jsを使用したReactのインタラクティブデータの視覚化の構築を示しています。 D3.JSの基礎をカバーし、統合を反応させ、世界人口ダッシュボードを作成します。 最終製品は以下に示されています:
ライブデモとソースコードはGitHubで入手できます。
前提条件:基本的な反応知識が想定されています。 必要に応じて、公式のReactドキュメントを確認してください。 JavaScriptとES6に精通していることが役立ちます
d3.jsおよびReact Integration:d3.js(データ駆動型ドキュメント)データを使用してDOMを操作します。 Reactのコンポーネント構造でうまく機能します
d3.jsの利点と反応:
豊富な機能:
Vite:を使用して新しいReactプロジェクトを作成します
d3.jsをインストール:
<code class="language-bash">npm create vite@latest react-d3-demo -- --template react # or yarn create vite react-d3-demo --template react</code>
d3.jsコアコンセプト:
<code class="language-bash">npm install d3 # or yarn add d3</code>
操作のためにDOM要素を選択します。 最初の試合を取得します。 d3.select()
すべての一致を取得します。d3.selectAll()
select()
selectAll()
を使用してデータをDOM要素に効率的に接続します。 新しいデータポイントの新しい要素を追加し、データを一致させるための既存の要素を更新し、存在しなくなったデータの要素を削除します。
data()
join()
join()
データの読み込み:
d3.csv()
React Rendering:d3.json()
barチャート:正確なデータ表現とコンテキストのためにスケールと軸を使用してバーチャートを作成します。
スケール:カテゴリデータ(x軸)の場合は
数値データ(y軸)の場合。 スケールは、データ値を視覚座標にマッピングします。
およびスケールに基づいて軸を生成します。d3.scaleBand()
d3.scaleLinear()
パイチャートは割合を視覚化します。 d3.jsのは角度を生成し、はパイスライスを作成します。 明確にするために凡例を追加します。d3.axisBottom()
Choropleth Map:
インタラクティブ性の向上:
ツールチップ:マウスイベントを使用してホバーに関する追加情報を提供し、動的に配置された要素を使用しています。
<div>
<li>ズームとパンニング:<p><strong>マップのインタラクティブな探索を有効にします。
</strong>
<code>d3.zoom()
視覚化を組み合わせると、包括的なダッシュボードが作成されます。 レスポンシブデザインは、デバイス全体の読みやすさを保証します。 カスタムフック(
最適化:useChartDimensions
メモ:
冗長計算を避けます。aria:
アクセシビリティにaria属性を使用します。以上がd3.jsと反応を使用したインタラクティブなデータの視覚化を構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。