Components to rapidly build fast, highly customisable, interactive charts with D3
Installation
The latest release of D3FC is available via npm or the unpkg CDN. The D3FC project is composed of a number of separate packages each of which can be installed via npm and used independently, or if you prefer you can install the entire D3FC bundle, which includes all of the separate packages -
npm install d3fc
<script src="https://unpkg.com/d3"></script>
<script src="https://unpkg.com/d3fc"></script>
Test your installation using the simple chart example.
Documentation
The following getting-started guides are available -
- Building a Chart - a walk through building a chart with D3FC and what makes it different from other libraries.
- The Decorate Pattern - the pattern D3FC employs, resulting in charting components that are both simple and flexible.
- Transitions - how to use D3 transitions with D3FC.
For API documentation see the corresponding package documentation -
- d3fc-annotation
- d3fc-axis
- d3fc-brush
- d3fc-chart
- d3fc-data-join
- d3fc-discontinuous-scale
- d3fc-element
- d3fc-extent
- d3fc-financial-feed
- d3fc-group
- d3fc-label-layout
- d3fc-pointer
- d3fc-random-data
- d3fc-rebind
- d3fc-sample
- d3fc-series
- d3fc-shape
- d3fc-technical-indicator
- d3fc-webgl
- d3fc-zoom
Examples can be found on the project website. These same examples are also available offline.
There are also a number of other documents and articles that provide a bit more background regarding the design principles of D3FC -
- Unboxing D3 - there are numerous charting libraries that are 'built with D3', but all of them keep D3 'in its box' and as a result, you cannot unleash its full power!
- Extending D3 with Higher Order Components - a brief article that walks through the process of building a chart with D3FC
- Building a Complex Financial Chart with D3 and D3FC - a lengthy and detailed article that builds a complex and bespoke chart which you can view online here.
Developing
This project is a mono-repo that uses Lerna to manage dependencies between packages. To get started, run -
npm ci
npm test
When making changes to a package, you can execute the following either from within the package folder to build just that package or from the project root to build all packages -
npm run bundle
To open a development sandbox which is automatically updated when you save changes to source files, navigate to the project root and run -
npm start
Releases
Releases are managed via CI and semantic release.
License
These components are licensed under the MIT License.
Sponsors
Project supported by Scott Logic.