コンテンツへスキップ

D3とは?

D3(またはD3.js)は、データを可視化するための無料のオープンソースJavaScriptライブラリです。ウェブ標準に基づいて構築されたその低レベルのアプローチは、動的なデータ駆動型グラフィックスを作成する上で比類のない柔軟性を提供します。10年以上にわたり、D3は画期的で受賞歴のある可視化を支え、より高レベルのグラフライブラリの基礎となる構成要素となり、世界中のデータ実務家の活気のあるコミュニティを育成してきました。

D3は「この分野を前例のない成長、多様化、創造性へと一気に押し上げ」、「ニュースルーム、ウェブサイト、個人のポートフォリオで作成される何百万ものデータ可視化の方法を変えた」と、Information is Beautifulの2022年のTest of Time Awardで評されました。IEEE VISの2021年のTest of Time Awardでは、「ウェブ開発者がインタラクティブな可視化を作成するために魅力的で使いやすいフレームワークを作成することで、著者たちは間違いなくデータ可視化を主流にするのに貢献した。[D3]はこの会議、そしてより一般的には私たちの分野全体の成功に対する基礎的な貢献である」と述べました。

D3は2011年にMike Bostockによって作成されました。Mikeは、スタンフォード大学でJeff HeerとVadim Ogievetskyと共にD3に関する論文を共著しました。Jason Daviesは、2011年から2013年にかけてD3に大きな貢献をし、特にD3の地理的投影システムに貢献しました。Philippe Rivièreは、2016年以来、D3とそのドキュメントに大きく貢献しています。長年にわたり、数え切れないほど多くの親切な人々がコードやアイデアを共有したり、教えたり質問に答えたり、可視化の実践をさらに進めるために人々を結びつけたりすることで、D3に貢献してきました。MikeとPhilippeは現在、D3とObservable PlotObservableで管理しています。

D3は低レベルのツールボックスです

D3は、従来の意味でのグラフ作成ライブラリではありません。「グラフ」という概念はありません。D3でデータを可視化する場合、さまざまなプリミティブを構成します。

積み上げ面グラフを作成するには、以下を使用する場合があります。

たくさんあって大変ですよね?でも、深呼吸してください。すべてを一度に学ぶ必要はありません。各部分は独立して使用できるため、それらを組み合わせて使用する前に個別に学習できます。D3は単一のモノリスではなく、30個の個別のライブラリ(または「モジュール」)のスイートです。ツールが設計を反復する際にすぐに利用できるように、必要性というよりも利便性のためにこれらのモジュールをまとめています。

D3ツールボックスには何が含まれているのでしょうか?ドキュメントと例を調べて、自分に関連するものについて理解を深めることをお勧めします。

/D3 /D3/Introduction /D3/Visualization /D3/Animation /D3/Interaction /D3/Data /D3/API index /D3/API index /D3/Introduction/What is D3? /D3/Introduction/What is D3? /D3/Introduction/Getting started /D3/Introduction/Getting started /D3/Visualization/d3-axis /D3/Visualization/d3-axis /D3/Visualization/d3-chord /D3/Visualization/d3-chord /D3/Visualization/d3-color /D3/Visualization/d3-color /D3/Visualization/d3-interpolate /D3/Visualization/d3-interpolate /D3/Visualization/d3-contour /D3/Visualization/d3-contour /D3/Visualization/d3-delaunay /D3/Visualization/d3-delaunay /D3/Visualization/d3-force /D3/Visualization/d3-force /D3/Visualization/d3-geo /D3/Visualization/d3-geo /D3/Visualization/d3-hierarchy /D3/Visualization/d3-hierarchy /D3/Visualization/d3-path /D3/Visualization/d3-path /D3/Visualization/d3-polygon /D3/Visualization/d3-polygon /D3/Visualization/d3-quadtree /D3/Visualization/d3-quadtree /D3/Visualization/d3-scale /D3/Visualization/d3-scale /D3/Visualization/d3-scale-chromatic /D3/Visualization/d3-scale-chromatic /D3/Visualization/d3-selection /D3/Visualization/d3-selection /D3/Visualization/d3-shape /D3/Visualization/d3-shape /D3/Animation/d3-ease /D3/Animation/d3-ease /D3/Animation/d3-timer /D3/Animation/d3-timer /D3/Animation/d3-transition /D3/Animation/d3-transition /D3/Interaction/d3-brush /D3/Interaction/d3-brush /D3/Interaction/d3-dispatch /D3/Interaction/d3-dispatch /D3/Interaction/d3-drag /D3/Interaction/d3-drag /D3/Interaction/d3-zoom /D3/Interaction/d3-zoom /D3/Data/d3-array /D3/Data/d3-array /D3/Data/d3-dsv /D3/Data/d3-dsv /D3/Data/d3-fetch /D3/Data/d3-fetch /D3/Data/d3-format /D3/Data/d3-format /D3/Data/d3-random /D3/Data/d3-random /D3/Data/d3-time /D3/Data/d3-time /D3/Data/d3-time-format /D3/Data/d3-time-format /D3/Visualization/d3-chord/Chords /D3/Visualization/d3-chord/Chords /D3/Visualization/d3-chord/Ribbons /D3/Visualization/d3-chord/Ribbons /D3/Visualization/d3-interpolate/Value interpolation /D3/Visualization/d3-interpolate/Value interpolation /D3/Visualization/d3-interpolate/Color interpolation /D3/Visualization/d3-interpolate/Color interpolation /D3/Visualization/d3-interpolate/Transform interpolation /D3/Visualization/d3-interpolate/Transform interpolation /D3/Visualization/d3-interpolate/Zoom interpolation /D3/Visualization/d3-interpolate/Zoom interpolation /D3/Visualization/d3-contour/Contour polygons /D3/Visualization/d3-contour/Contour polygons /D3/Visualization/d3-contour/Density estimation /D3/Visualization/d3-contour/Density estimation /D3/Visualization/d3-delaunay/Delaunay triangulations /D3/Visualization/d3-delaunay/Delaunay triangulations /D3/Visualization/d3-delaunay/Voronoi diagrams /D3/Visualization/d3-delaunay/Voronoi diagrams /D3/Visualization/d3-force/Force simulations /D3/Visualization/d3-force/Force simulations /D3/Visualization/d3-force/Center force /D3/Visualization/d3-force/Center force /D3/Visualization/d3-force/Collide force /D3/Visualization/d3-force/Collide force /D3/Visualization/d3-force/Link force /D3/Visualization/d3-force/Link force /D3/Visualization/d3-force/Many-body force /D3/Visualization/d3-force/Many-body force /D3/Visualization/d3-force/Position forces /D3/Visualization/d3-force/Position forces /D3/Visualization/d3-geo/Paths /D3/Visualization/d3-geo/Paths /D3/Visualization/d3-geo/Projections /D3/Visualization/d3-geo/Projections /D3/Visualization/d3-geo/Streams /D3/Visualization/d3-geo/Streams /D3/Visualization/d3-geo/Spherical shapes /D3/Visualization/d3-geo/Spherical shapes /D3/Visualization/d3-geo/Spherical math /D3/Visualization/d3-geo/Spherical math /D3/Visualization/d3-hierarchy/Hierarchies /D3/Visualization/d3-hierarchy/Hierarchies /D3/Visualization/d3-hierarchy/Stratify /D3/Visualization/d3-hierarchy/Stratify /D3/Visualization/d3-hierarchy/Tree /D3/Visualization/d3-hierarchy/Tree /D3/Visualization/d3-hierarchy/Cluster /D3/Visualization/d3-hierarchy/Cluster /D3/Visualization/d3-hierarchy/Partition /D3/Visualization/d3-hierarchy/Partition /D3/Visualization/d3-hierarchy/Pack /D3/Visualization/d3-hierarchy/Pack /D3/Visualization/d3-hierarchy/Treemap /D3/Visualization/d3-hierarchy/Treemap /D3/Visualization/d3-scale/Linear scales /D3/Visualization/d3-scale/Linear scales /D3/Visualization/d3-scale/Time scales /D3/Visualization/d3-scale/Time scales /D3/Visualization/d3-scale/Pow scales /D3/Visualization/d3-scale/Pow scales /D3/Visualization/d3-scale/Log scales /D3/Visualization/d3-scale/Log scales /D3/Visualization/d3-scale/Symlog scales /D3/Visualization/d3-scale/Symlog scales /D3/Visualization/d3-scale/Ordinal scales /D3/Visualization/d3-scale/Ordinal scales /D3/Visualization/d3-scale/Band scales /D3/Visualization/d3-scale/Band scales /D3/Visualization/d3-scale/Point scales /D3/Visualization/d3-scale/Point scales /D3/Visualization/d3-scale/Sequential scales /D3/Visualization/d3-scale/Sequential scales /D3/Visualization/d3-scale/Diverging scales /D3/Visualization/d3-scale/Diverging scales /D3/Visualization/d3-scale/Quantile scales /D3/Visualization/d3-scale/Quantile scales /D3/Visualization/d3-scale/Quantize scales /D3/Visualization/d3-scale/Quantize scales /D3/Visualization/d3-scale/Threshold scales /D3/Visualization/d3-scale/Threshold scales /D3/Visualization/d3-scale-chromatic/Categorical schemes /D3/Visualization/d3-scale-chromatic/Categorical schemes /D3/Visualization/d3-scale-chromatic/Cyclical schemes /D3/Visualization/d3-scale-chromatic/Cyclical schemes /D3/Visualization/d3-scale-chromatic/Diverging schemes /D3/Visualization/d3-scale-chromatic/Diverging schemes /D3/Visualization/d3-scale-chromatic/Sequential schemes /D3/Visualization/d3-scale-chromatic/Sequential schemes /D3/Visualization/d3-selection/Selecting elements /D3/Visualization/d3-selection/Selecting elements /D3/Visualization/d3-selection/Modifying elements /D3/Visualization/d3-selection/Modifying elements /D3/Visualization/d3-selection/Joining data /D3/Visualization/d3-selection/Joining data /D3/Visualization/d3-selection/Handling events /D3/Visualization/d3-selection/Handling events /D3/Visualization/d3-selection/Control flow /D3/Visualization/d3-selection/Control flow /D3/Visualization/d3-selection/Local variables /D3/Visualization/d3-selection/Local variables /D3/Visualization/d3-selection/Namespaces /D3/Visualization/d3-selection/Namespaces /D3/Visualization/d3-shape/Arcs /D3/Visualization/d3-shape/Arcs /D3/Visualization/d3-shape/Areas /D3/Visualization/d3-shape/Areas /D3/Visualization/d3-shape/Curves /D3/Visualization/d3-shape/Curves /D3/Visualization/d3-shape/Lines /D3/Visualization/d3-shape/Lines /D3/Visualization/d3-shape/Links /D3/Visualization/d3-shape/Links /D3/Visualization/d3-shape/Pies /D3/Visualization/d3-shape/Pies /D3/Visualization/d3-shape/Stacks /D3/Visualization/d3-shape/Stacks /D3/Visualization/d3-shape/Symbols /D3/Visualization/d3-shape/Symbols /D3/Visualization/d3-shape/Radial areas /D3/Visualization/d3-shape/Radial areas /D3/Visualization/d3-shape/Radial lines /D3/Visualization/d3-shape/Radial lines /D3/Visualization/d3-shape/Radial links /D3/Visualization/d3-shape/Radial links /D3/Animation/d3-transition/Selecting elements /D3/Animation/d3-transition/Selecting elements /D3/Animation/d3-transition/Modifying elements /D3/Animation/d3-transition/Modifying elements /D3/Animation/d3-transition/Timing /D3/Animation/d3-transition/Timing /D3/Animation/d3-transition/Control flow /D3/Animation/d3-transition/Control flow /D3/Data/d3-array/Adding numbers /D3/Data/d3-array/Adding numbers /D3/Data/d3-array/Binning data /D3/Data/d3-array/Binning data /D3/Data/d3-array/Bisecting data /D3/Data/d3-array/Bisecting data /D3/Data/d3-array/Blurring data /D3/Data/d3-array/Blurring data /D3/Data/d3-array/Grouping data /D3/Data/d3-array/Grouping data /D3/Data/d3-array/Interning values /D3/Data/d3-array/Interning values /D3/Data/d3-array/Set operations /D3/Data/d3-array/Set operations /D3/Data/d3-array/Sorting data /D3/Data/d3-array/Sorting data /D3/Data/d3-array/Summarizing data /D3/Data/d3-array/Summarizing data /D3/Data/d3-array/Ticks /D3/Data/d3-array/Ticks /D3/Data/d3-array/Transforming data /D3/Data/d3-array/Transforming data /D3/Visualization/d3-geo/Projections/Azimuthal projections /D3/Visualization/d3-geo/Projections/Azimuthal projections /D3/Visualization/d3-geo/Projections/Conic projections /D3/Visualization/d3-geo/Projections/Conic projections /D3/Visualization/d3-geo/Projections/Cylindrical projections /D3/Visualization/d3-geo/Projections/Cylindrical projections API index/D3/API index API index/D3/API index What is D3?/D3/Introduction/What is D3? What is D3?/D3/Introduction/What is D3? Getting started/D3/Introduction/Getting started Getting started/D3/Introduction/Getting started d3-axis/D3/Visualization/d3-axis d3-axis/D3/Visualization/d3-axis d3-color/D3/Visualization/d3-color d3-color/D3/Visualization/d3-color d3-path/D3/Visualization/d3-path d3-path/D3/Visualization/d3-path d3-polygon/D3/Visualization/d3-polygon d3-polygon/D3/Visualization/d3-polygon d3-quadtree/D3/Visualization/d3-quadtree d3-quadtree/D3/Visualization/d3-quadtree d3-ease/D3/Animation/d3-ease d3-ease/D3/Animation/d3-ease d3-timer/D3/Animation/d3-timer d3-timer/D3/Animation/d3-timer d3-brush/D3/Interaction/d3-brush d3-brush/D3/Interaction/d3-brush d3-dispatch/D3/Interaction/d3-dispatch d3-dispatch/D3/Interaction/d3-dispatch d3-drag/D3/Interaction/d3-drag d3-drag/D3/Interaction/d3-drag d3-zoom/D3/Interaction/d3-zoom d3-zoom/D3/Interaction/d3-zoom d3-dsv/D3/Data/d3-dsv d3-dsv/D3/Data/d3-dsv d3-fetch/D3/Data/d3-fetch d3-fetch/D3/Data/d3-fetch d3-format/D3/Data/d3-format d3-format/D3/Data/d3-format d3-random/D3/Data/d3-random d3-random/D3/Data/d3-random d3-time/D3/Data/d3-time d3-time/D3/Data/d3-time d3-time-format/D3/Data/d3-time-format d3-time-format/D3/Data/d3-time-format Chords/D3/Visualization/d3-chord/Chords Chords/D3/Visualization/d3-chord/Chords Ribbons/D3/Visualization/d3-chord/Ribbons Ribbons/D3/Visualization/d3-chord/Ribbons Value interpolation/D3/Visualization/d3-interpolate/Value interpolation Value interpolation/D3/Visualization/d3-interpolate/Value interpolation Color interpolation/D3/Visualization/d3-interpolate/Color interpolation Color interpolation/D3/Visualization/d3-interpolate/Color interpolation Transform interpolation/D3/Visualization/d3-interpolate/Transform interpolation Transform interpolation/D3/Visualization/d3-interpolate/Transform interpolation Zoom interpolation/D3/Visualization/d3-interpolate/Zoom interpolation Zoom interpolation/D3/Visualization/d3-interpolate/Zoom interpolation Contour polygons/D3/Visualization/d3-contour/Contour polygons Contour polygons/D3/Visualization/d3-contour/Contour polygons Density estimation/D3/Visualization/d3-contour/Density estimation Density estimation/D3/Visualization/d3-contour/Density estimation Delaunay triangulations/D3/Visualization/d3-delaunay/Delaunay triangulations Delaunay triangulations/D3/Visualization/d3-delaunay/Delaunay triangulations Voronoi diagrams/D3/Visualization/d3-delaunay/Voronoi diagrams Voronoi diagrams/D3/Visualization/d3-delaunay/Voronoi diagrams Force simulations/D3/Visualization/d3-force/Force simulations Force simulations/D3/Visualization/d3-force/Force simulations Center force/D3/Visualization/d3-force/Center force Center force/D3/Visualization/d3-force/Center force Collide force/D3/Visualization/d3-force/Collide force Collide force/D3/Visualization/d3-force/Collide force Link force/D3/Visualization/d3-force/Link force Link force/D3/Visualization/d3-force/Link force Many-body force/D3/Visualization/d3-force/Many-body force Many-body force/D3/Visualization/d3-force/Many-body force Position forces/D3/Visualization/d3-force/Position forces Position forces/D3/Visualization/d3-force/Position forces Paths/D3/Visualization/d3-geo/Paths Paths/D3/Visualization/d3-geo/Paths Streams/D3/Visualization/d3-geo/Streams Streams/D3/Visualization/d3-geo/Streams Spherical shapes/D3/Visualization/d3-geo/Spherical shapes Spherical shapes/D3/Visualization/d3-geo/Spherical shapes Spherical math/D3/Visualization/d3-geo/Spherical math Spherical math/D3/Visualization/d3-geo/Spherical math Hierarchies/D3/Visualization/d3-hierarchy/Hierarchies Hierarchies/D3/Visualization/d3-hierarchy/Hierarchies Stratify/D3/Visualization/d3-hierarchy/Stratify Stratify/D3/Visualization/d3-hierarchy/Stratify Tree/D3/Visualization/d3-hierarchy/Tree Tree/D3/Visualization/d3-hierarchy/Tree Cluster/D3/Visualization/d3-hierarchy/Cluster Cluster/D3/Visualization/d3-hierarchy/Cluster Partition/D3/Visualization/d3-hierarchy/Partition Partition/D3/Visualization/d3-hierarchy/Partition Pack/D3/Visualization/d3-hierarchy/Pack Pack/D3/Visualization/d3-hierarchy/Pack Treemap/D3/Visualization/d3-hierarchy/Treemap Treemap/D3/Visualization/d3-hierarchy/Treemap Linear scales/D3/Visualization/d3-scale/Linear scales Linear scales/D3/Visualization/d3-scale/Linear scales Time scales/D3/Visualization/d3-scale/Time scales Time scales/D3/Visualization/d3-scale/Time scales Pow scales/D3/Visualization/d3-scale/Pow scales Pow scales/D3/Visualization/d3-scale/Pow scales Log scales/D3/Visualization/d3-scale/Log scales Log scales/D3/Visualization/d3-scale/Log scales Symlog scales/D3/Visualization/d3-scale/Symlog scales Symlog scales/D3/Visualization/d3-scale/Symlog scales Ordinal scales/D3/Visualization/d3-scale/Ordinal scales Ordinal scales/D3/Visualization/d3-scale/Ordinal scales Band scales/D3/Visualization/d3-scale/Band scales Band scales/D3/Visualization/d3-scale/Band scales Point scales/D3/Visualization/d3-scale/Point scales Point scales/D3/Visualization/d3-scale/Point scales Sequential scales/D3/Visualization/d3-scale/Sequential scales Sequential scales/D3/Visualization/d3-scale/Sequential scales Diverging scales/D3/Visualization/d3-scale/Diverging scales Diverging scales/D3/Visualization/d3-scale/Diverging scales Quantile scales/D3/Visualization/d3-scale/Quantile scales Quantile scales/D3/Visualization/d3-scale/Quantile scales Quantize scales/D3/Visualization/d3-scale/Quantize scales Quantize scales/D3/Visualization/d3-scale/Quantize scales Threshold scales/D3/Visualization/d3-scale/Threshold scales Threshold scales/D3/Visualization/d3-scale/Threshold scales Categorical schemes/D3/Visualization/d3-scale-chromatic/Categorical schemes Categorical schemes/D3/Visualization/d3-scale-chromatic/Categorical schemes Cyclical schemes/D3/Visualization/d3-scale-chromatic/Cyclical schemes Cyclical schemes/D3/Visualization/d3-scale-chromatic/Cyclical schemes Diverging schemes/D3/Visualization/d3-scale-chromatic/Diverging schemes Diverging schemes/D3/Visualization/d3-scale-chromatic/Diverging schemes Sequential schemes/D3/Visualization/d3-scale-chromatic/Sequential schemes Sequential schemes/D3/Visualization/d3-scale-chromatic/Sequential schemes Selecting elements/D3/Visualization/d3-selection/Selecting elements Selecting elements/D3/Visualization/d3-selection/Selecting elements Modifying elements/D3/Visualization/d3-selection/Modifying elements Modifying elements/D3/Visualization/d3-selection/Modifying elements Joining data/D3/Visualization/d3-selection/Joining data Joining data/D3/Visualization/d3-selection/Joining data Handling events/D3/Visualization/d3-selection/Handling events Handling events/D3/Visualization/d3-selection/Handling events Control flow/D3/Visualization/d3-selection/Control flow Control flow/D3/Visualization/d3-selection/Control flow Local variables/D3/Visualization/d3-selection/Local variables Local variables/D3/Visualization/d3-selection/Local variables Namespaces/D3/Visualization/d3-selection/Namespaces Namespaces/D3/Visualization/d3-selection/Namespaces Arcs/D3/Visualization/d3-shape/Arcs Arcs/D3/Visualization/d3-shape/Arcs Areas/D3/Visualization/d3-shape/Areas Areas/D3/Visualization/d3-shape/Areas Curves/D3/Visualization/d3-shape/Curves Curves/D3/Visualization/d3-shape/Curves Lines/D3/Visualization/d3-shape/Lines Lines/D3/Visualization/d3-shape/Lines Links/D3/Visualization/d3-shape/Links Links/D3/Visualization/d3-shape/Links Pies/D3/Visualization/d3-shape/Pies Pies/D3/Visualization/d3-shape/Pies Stacks/D3/Visualization/d3-shape/Stacks Stacks/D3/Visualization/d3-shape/Stacks Symbols/D3/Visualization/d3-shape/Symbols Symbols/D3/Visualization/d3-shape/Symbols Radial areas/D3/Visualization/d3-shape/Radial areas Radial areas/D3/Visualization/d3-shape/Radial areas Radial lines/D3/Visualization/d3-shape/Radial lines Radial lines/D3/Visualization/d3-shape/Radial lines Radial links/D3/Visualization/d3-shape/Radial links Radial links/D3/Visualization/d3-shape/Radial links Selecting elements/D3/Animation/d3-transition/Selecting elements Selecting elements/D3/Animation/d3-transition/Selecting elements Modifying elements/D3/Animation/d3-transition/Modifying elements Modifying elements/D3/Animation/d3-transition/Modifying elements Timing/D3/Animation/d3-transition/Timing Timing/D3/Animation/d3-transition/Timing Control flow/D3/Animation/d3-transition/Control flow Control flow/D3/Animation/d3-transition/Control flow Adding numbers/D3/Data/d3-array/Adding numbers Adding numbers/D3/Data/d3-array/Adding numbers Binning data/D3/Data/d3-array/Binning data Binning data/D3/Data/d3-array/Binning data Bisecting data/D3/Data/d3-array/Bisecting data Bisecting data/D3/Data/d3-array/Bisecting data Blurring data/D3/Data/d3-array/Blurring data Blurring data/D3/Data/d3-array/Blurring data Grouping data/D3/Data/d3-array/Grouping data Grouping data/D3/Data/d3-array/Grouping data Interning values/D3/Data/d3-array/Interning values Interning values/D3/Data/d3-array/Interning values Set operations/D3/Data/d3-array/Set operations Set operations/D3/Data/d3-array/Set operations Sorting data/D3/Data/d3-array/Sorting data Sorting data/D3/Data/d3-array/Sorting data Summarizing data/D3/Data/d3-array/Summarizing data Summarizing data/D3/Data/d3-array/Summarizing data Ticks/D3/Data/d3-array/Ticks Ticks/D3/Data/d3-array/Ticks Transforming data/D3/Data/d3-array/Transforming data Transforming data/D3/Data/d3-array/Transforming data Azimuthal projections/D3/Visualization/d3-geo/Projections/Azimuthal projections Azimuthal projections/D3/Visualization/d3-geo/Projections/Azimuthal projections Conic projections/D3/Visualization/d3-geo/Projections/Conic projections Conic projections/D3/Visualization/d3-geo/Projections/Conic projections Cylindrical projections/D3/Visualization/d3-geo/Projections/Cylindrical projections Cylindrical projections/D3/Visualization/d3-geo/Projections/Cylindrical projections D3/D3 Introduction/D3/Introduction Visualization/D3/Visualization Animation/D3/Animation Interaction/D3/Interaction Data/D3/Data d3-chord/D3/Visualization/d3-chord d3-chord/D3/Visualization/d3-chord d3-interpolate/D3/Visualization/d3-interpolate d3-interpolate/D3/Visualization/d3-interpolate d3-contour/D3/Visualization/d3-contour d3-contour/D3/Visualization/d3-contour d3-delaunay/D3/Visualization/d3-delaunay d3-delaunay/D3/Visualization/d3-delaunay d3-force/D3/Visualization/d3-force d3-force/D3/Visualization/d3-force d3-geo/D3/Visualization/d3-geo d3-geo/D3/Visualization/d3-geo d3-hierarchy/D3/Visualization/d3-hierarchy d3-hierarchy/D3/Visualization/d3-hierarchy d3-scale/D3/Visualization/d3-scale d3-scale/D3/Visualization/d3-scale d3-scale-chromatic/D3/Visualization/d3-scale-chromatic d3-scale-chromatic/D3/Visualization/d3-scale-chromatic d3-selection/D3/Visualization/d3-selection d3-selection/D3/Visualization/d3-selection d3-shape/D3/Visualization/d3-shape d3-shape/D3/Visualization/d3-shape d3-transition/D3/Animation/d3-transition d3-transition/D3/Animation/d3-transition d3-array/D3/Data/d3-array d3-array/D3/Data/d3-array Projections/D3/Visualization/d3-geo/Projections Projections/D3/Visualization/d3-geo/Projections

ヒント

D3の低レベルの制御が必要な場合を除き、高レベルの姉妹ライブラリであるObservable Plotをお勧めします。D3ではヒストグラムを作成するのに50行のコードが必要になる可能性がありますが、Plotでは1行で済みます。Plotの簡潔で表現力豊かなAPIを使用すると、ウェブ開発の代わりにデータの分析と可視化に集中できます。PlotとD3を組み合わせて両方の利点を活用することもできます。

D3は柔軟です

D3には包括的な「グラフ」の抽象化がないため、基本的なグラフでも数十行のコードが必要になる場合があります。良い点としては、すべての要素が目の前に配置されており、何が起こるかを完全に制御できることです。可視化を調整して、目的を正確に達成できます。D3にはデータのデフォルトの表示はありません。自分で記述したコード(または例からコピーしたコード)があるだけです。

D3を「すべてを自分で行う」ことの代替手段として考え、高レベルのグラフ作成ライブラリの代替手段として考えないでください。他のツールに満足できず、SVGやCanvas(あるいはWebGL)を使用して独自のグラフを作成しようとしている場合は、D3のツールボックスを調べてみるのも良いでしょう。創造性を損なうことなく、夢のグラフを作成するのに役立つものがほぼ確実にあります。

D3はウェブで機能します

D3は新しいグラフィカルな表現を導入するのではなく、SVGやCanvasなどのウェブ標準を直接使用します。

「D3」という名前は、データ駆動型ドキュメントの略で、ここでドキュメントは、ウェブページの内容を表すドキュメントオブジェクトモデル(DOM)標準を指します。D3のモジュールの一部(セレクショントランジションなど)はDOMに触れますが、他のモジュール(スケールシェイプなど)はデータに対してのみ動作します。D3は、React、Vue、Svelteなどのウェブフレームワークと組み合わせることもできます。推奨事項については、入門ガイドを参照してください。

D3がウェブ標準を採用していることには多くのメリットがあります。たとえば、外部スタイルシートを使用してグラフの外観を変更したり(レスポンシブグラフやダークモードなどのメディアクエリに対応する場合でも)、デバッガーと要素インスペクターを使用してコードの動作を確認したりできます。また、D3の同期的な命令型評価モデル(selection.attrを呼び出すとDOMがすぐに変更される)により、複雑な非同期ランタイムを備えたフレームワークよりもデバッグが容易になる場合があります。

D3はオーダーメイドの可視化向けです

D3は物事を可能にするものであり、必ずしも簡単にするものではありません。簡単であるべき単純なことでも、多くの場合そうではありません。Amanda Coxの言葉を言い換えれば、「D3は、棒グラフのために100行のコードを書くのがごく普通のことだと思う場合に使うべきです。」

オーダーメイドの可視化で最大の表現力が必要な場合は、D3を検討する必要があります。D3は、The New York TimesThe Puddingのようなメディア組織に適しています。そこでは、1つのグラフィックが100万人の読者に見られる可能性があり、編集者のチームが協力して視覚コミュニケーションの最先端を進めることができます。

一方、D3は、プライベートダッシュボードや単発の分析をまとめるには過剰です。魅惑的な例に惑わされないでください。それらの多くは実装に多大な労力を費やしています。時間に制約がある場合(誰でもそうですが)、Observable Plotを使用すると、より優れた可視化や分析を作成できる可能性が高くなります。

D3は動的な可視化向けです

D3の最も斬新な概念は、データ結合です。データのセットとDOM要素のセットが与えられた場合、データ結合を使用すると、enteringupdating、およびexiting要素に対して個別の操作を適用できます。静的なグラフ(アニメーションやユーザー入力に応答しないグラフ)のみを作成する場合、この概念は直感的でない、または不必要であるため、奇妙に感じるかもしれません。

データ結合は、データが変更されたときに正確に何が起こるかを制御し、それに応じて表示を更新できるように存在します。この直接的な制御により、非常にパフォーマンスの高い更新(DOMを差分することなく、変更する必要のある要素と属性のみを変更する)と、状態間のスムーズなアニメーション遷移が可能になります。D3は、動的なインタラクティブな可視化に最適です。(2012年の「512 Paths to the White House」の州の切り替えをoptionキーを押しながらクリックしてみてください。本当に。)