# d3/d3

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/d3-d3).**

113,097 stars · 22,719 forks · Shell · ISC

## Links

- GitHub: https://github.com/d3/d3
- Homepage: https://d3js.org
- awesome-repositories: https://awesome-repositories.com/repository/d3-d3.md

## Topics

`chart` `charts` `d3` `data-visualization` `svg` `visualization`

## Description

D3 is a modular library providing low-level primitives for creating data-driven visualizations. It functions as a flexible framework that allows for direct control over visual presentation by mapping abstract data dimensions to graphical properties, such as position, color, and size, without imposing predefined chart abstractions.

The library distinguishes itself by offering specialized tools for complex data representation, including algorithmic layouts for hierarchical structures and geographic projection utilities for mapping spherical coordinates. It also includes a comprehensive suite for managing user interactions, enabling the creation of interactive selection areas that respond to mouse and touch input.

Beyond visualization, the project provides a collection of utilities for document manipulation and data processing. These tools allow developers to query elements, apply data-driven transformations, and perform operations such as ordering, grouping, and summarizing datasets to prepare them for rendering in vector or bitmap contexts.

## Tags

### Data & Databases

- [Data Visualization Libraries](https://awesome-repositories.com/f/data-databases/data-engineering/data-visualization-libraries.md) — Modular components like scales, axes, and shapes enable the construction of dynamic and interactive data visualizations. ([source](https://d3js.org/getting-started))
- [Brush Interaction Utilities](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/interaction-event-handling/brush-interaction-utilities.md) — Implement interactive selection areas that allow users to highlight and isolate specific data ranges within a visualization. ([source](https://d3js.org/d3-brush))
- [Geographic Projections](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/chart-components-utilities/geographic-projections.md) — Project spherical geographic coordinates onto a plane while supporting adaptive sampling of polygons and polylines for geometric accuracy. ([source](https://d3js.org/d3-geo))
- [Array Manipulation Utilities](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/array-tensor-manipulation/array-manipulation-utilities.md) — Comprehensive utilities handle the ordering, searching, summarizing, binning, and grouping of complex data sets. ([source](https://d3js.org/d3-array))

### Graphics & Multimedia

- [Data Visualization Scales](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/data-visualization-scales.md) — Mathematical mapping functions translate abstract data domains into visual properties including position, color, and size. ([source](https://d3js.org/d3-scale))
- [Low-Level Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visualization-frameworks/low-level-rendering-engines.md) — Directly manipulate graphical elements through low-level primitives to build custom rendering logic for vector and bitmap visualizations. ([source](https://d3js.org/what-is-d3))
- [Data-Driven Shape Generators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/data-driven-shape-generators.md) — Generate visual path definitions by mapping data values to coordinates for vector-based graphics. ([source](https://d3js.org/d3-shape))
- [Hierarchical Layouts](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/layout-algorithms/hierarchical-layouts.md) — Arrange tree-structured data into hierarchical visual representations such as node-link and enclosure diagrams. ([source](https://d3js.org/d3-hierarchy))

### Web Development

- [DOM Manipulation Libraries](https://awesome-repositories.com/f/web-development/browser-integration-utilities/dom-event-handling/dom-manipulation-libraries.md) — Select, traverse, and modify document elements to apply data-driven transformations directly within the browser. ([source](https://d3js.org/d3-selection))

### Part of an Awesome List

- [Animation and Tweening](https://awesome-repositories.com/f/awesome-lists/devtools/animation-and-tweening.md) — Data-driven document animation library.
- [Canvas Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/canvas-libraries.md) — Library for visualizing data using web standards like Canvas.
- [Frontend Development](https://awesome-repositories.com/f/awesome-lists/devtools/frontend-development.md) — Powerful library for data-driven document visualization.
- [Game Engines](https://awesome-repositories.com/f/awesome-lists/devtools/game-engines.md) — Data-driven document manipulation and visualization library.
