Package Exports
- britecharts
- britecharts/dist/umd/bundle/britecharts.bundled.min.js
- britecharts/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (britecharts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Britecharts
Britecharts makes it easier to build stunning D3.js-powered interactive charts with little code.
![]() |
![]() |
![]() |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Support: Twitter, Issues & Slack
Britecharts is a client-side reusable Charting Library based on D3.js v5 that provides easy composition of charts and components to create amazing data visualizations.
Key Features
- 🛠 Reusable - Configure your charts to create different looks and behaviors.
- 🏗 Composable - Mix and match components to create insightful experiences.
- 🌈 Great design - Clean and vivid looks to amaze your users.
- ⚙️ Simple - The codebase is regular D3.js code you can fork and modify.
Britecharts components have been written in ES2016 with a Test Driven methodology, so they are fully tested, and we are committed to keeping them that way.
Usage
The typical use of Britecharts involves creating a chart using its simple API, then rendering it on a container which has previously had data applied to it. The code will look like this:
import { select } from 'd3-selection';
import { bar } from 'britecharts';
const barChart = bar();
const barContainer = select('.bar-chart-container');
const dataset = [...];
barChart
.width(500)
.height(300);
barContainer.datum(dataset).call(barChart);
API
All the components expose common API methods like width, height, and margin. Additionally, each component exposes specific methods you can find in the documentation:
- API, Demo Line Chart
- API, Demo Bar Chart
- API, Demo Donut Chart
- API, Demo Stacked Bar Chart
- API, Demo Grouped Bar Chart
- API, Demo Bullet Chart
- API, Demo Brush Chart
- API, Demo Scatter Plot
- API, Demo Sparkline Chart
- API, Demo Stacked Area Chart
- API, Demo Step Chart
- API, Demo Mini Tooltip
- API, Demo Tooltip
- API, Demo Legend
Installation
Britecharts components are distributed in UMD modules, each one exposing a D3.js component written with the Reusable API pattern. To use any of the Britecharts modules, you will need to require the chart in your JS file using CommonJS modules, ES modules, or adding a script tag with the src
pointing to the file. You would also need to load the d3-selection submodule to select the chart container.
npm install --save britecharts d3-selection
# or
yarn add britecharts d3-selection
Then, in your JavaScript module file you can now import and use charts:
import { bar } from 'britecharts';
import { select } from 'd3-selection';
const barChart = bar();
const container = select('#container');
const barData = [
{ name: 'Luminous', value: 2 },
{ name: 'Glittering', value: 5 },
{ name: 'Intense', value: 4 },
{ name: 'Radiant', value: 3 }
];
barChart
.margin({ left: 100 })
.isHorizontal(true)
.height(400)
.width(600);
container.datum(barData).call(barChart);
Britecharts comes with custom CSS - to load CSS in your html file you may include it in the <head>
tag
<link
rel="stylesheet"
href="./node_modules/britecharts/dist/css/britecharts.css"
/>
Alternatively, you can load Britecharts from our CDN as we do in this demo page or play around in our JSBin and CodePen demo projects. In addition, you have an option to customize CSS using new styles. Check our Styling Britecharts tutorial to see more options.
See Also
- Documentation Homepage
- Getting Started Guide
- Tutorials
- How To Guides
- About Britecharts
- Contributing Guide
- Github Repo
- Changelog
Roadmap
This project is in active development. You can check our plans for the next release and our projects to see what's coming, and vote for your favorite proposals on the issues page.
If you work with Angular, check out ngx-britecharts and their demos. We are also preparing a wrapper for React, and we will be talking about it on our twitter.
Code of Conduct
Britecharts is dedicated to building a welcoming, diverse, and safe community. We expect everyone participating in the Britecharts community to abide by our Code of Conduct. Please read it and follow it.
How to Contribute
Whether you're helping us fix bugs, improving the docs, or spreading the word, we'd love to have you as part of the Britecharts community!
To give your feedback, you can open a new issue. You can also find us in the D3.js slack group, in the #tool-britecharts channel. We are looking for contributors and commiters, so if you want to become a part of this project, check the contributing guide and get started today!
Check out our Contributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.
Acknowledgments
Sun Dai designs Britecharts, and two books inspired the code, Developing a D3.js Edge and Mastering D3.js. It also leveraged a significant number of examples and articles from the D3.js community overall.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Daler Asrorov 💻 📖 🤔 🚧 👀 ⚠️ |
Ryan Wholey 💻 📖 🤔 🚧 👀 ⚠️ |
jchen85 💻 🤔 🚧 👀 ⚠️ |
Marcos Gómez 💻 |
ajdani 🐛 💻 🚧 |
shayh 💻 |
This project follows the all-contributors specification. Contributions of any kind are welcome!
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Read more in the license document