All Projects → springload → reusable-d3-charts

springload / reusable-d3-charts

Licence: MIT license
Reusable charts built with D3. Built on Web standards, fully customisable.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to reusable-d3-charts

proteic
Streaming and static data visualization for the modern web.
Stars: ✭ 37 (+12.12%)
Mutual labels:  d3, charts, dataviz
datalith
Simple, batteries included, components to build beautiful data visualizations
Stars: ✭ 29 (-12.12%)
Mutual labels:  d3, charts, dataviz
Keen Dataviz.js
Data Visualization Charting Library
Stars: ✭ 215 (+551.52%)
Mutual labels:  d3, charts, dataviz
Carbon Charts
📊 📈⠀Robust dataviz framework implemented using D3 & typescript
Stars: ✭ 287 (+769.7%)
Mutual labels:  d3, charts, dataviz
silky-charts
A silky smooth D3/React library
Stars: ✭ 38 (+15.15%)
Mutual labels:  d3, charts, dataviz
Flask jsondash
🐍 📊 📈 Build complex dashboards without any front-end code. Use your own endpoints. JSON config only. Ready to go.
Stars: ✭ 3,215 (+9642.42%)
Mutual labels:  d3, charts, dataviz
FlowViz
A Power BI template that provides easy to understand, actionable flow metrics and predictive analytics for your agile teams using Azure DevOps, Azure DevOps Server and/or TFS.
Stars: ✭ 150 (+354.55%)
Mutual labels:  charts, dataviz
FineChart-Saiku
d3.js visualize data for saiku-ui
Stars: ✭ 17 (-48.48%)
Mutual labels:  d3, charts
awesome-tools
Open-source list of awesome data visualization tools (e.g., charting libraries) for software developers 📊📈
Stars: ✭ 47 (+42.42%)
Mutual labels:  charts, dataviz
lineage
Family Tree Data Expression Engine
Stars: ✭ 90 (+172.73%)
Mutual labels:  d3, dataviz
multi-chart
lit-element building blocks for charts and visualization (based on d3.js v5)
Stars: ✭ 24 (-27.27%)
Mutual labels:  d3, dataviz
d3-in-angular
How to build reactive charts in Angular 8 using D3
Stars: ✭ 47 (+42.42%)
Mutual labels:  d3, charts
svg-time-series
SVG time-series charting library
Stars: ✭ 18 (-45.45%)
Mutual labels:  d3, charts
ddplot
Create D3 based SVG graphics easily from R
Stars: ✭ 43 (+30.3%)
Mutual labels:  d3, dataviz
dashblocks-template
Dashblocks Vue Material Admin Template
Stars: ✭ 143 (+333.33%)
Mutual labels:  d3, charts
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 215 (+551.52%)
Mutual labels:  d3, charts
o-fish-web
Web application for the Officer's Fishery Information Sharing Hub (O-FISH). The web app allows agencies to gain insights from the aggregated information gathered during a routine vessel inspection (submitted via the web app).
Stars: ✭ 29 (-12.12%)
Mutual labels:  charts, dataviz
react-financial-charts
Charts dedicated to finance.
Stars: ✭ 819 (+2381.82%)
Mutual labels:  d3, charts
covid-19
Current and historical coronavirus covid-19 confirmed, recovered, deaths and active case counts segmented by country and region. Includes csv, json and sqlite data along with an interactive website explorer.
Stars: ✭ 15 (-54.55%)
Mutual labels:  d3, dataviz
angular-fusioncharts
Angular Component for FusionCharts JavaScript Charting Library
Stars: ✭ 53 (+60.61%)
Mutual labels:  charts, dataviz

reusable-d3-charts Build Status

Reusable charts built with D3. See them live.

    1 ++-----------****-----------+--***-------+------****--++
  0.6 *+          **+  *          +**   *         d3(x)*****++
  0.2 +*         *      *         **     **         *     **++
    0 ++*       **       *       **       *       **       *++
 -0.4 ++**     *         **     **         *      *         *+
 -0.8 ++ **   *     +      *   ** +         *  +**          +*
   -1 ++--****------+-------***---+----------****-----------++
     2000         2005          2010          2015         2020

Why should I use those instead of <high-level abstraction over D3 of the day>?

TL;DR; D3 allows full customisability, and leverages the web standards you know and love.

First of all, because you want to have the final say on what your charts look like. This is the whole point of using something like D3: we want our graphs to be art-directed, rendering differently across projects and across screen sizes.

Then, because you will have more bangs for your bucks learning and using D3's API, JavaScript, SVG and CSS rather than locking yourself into a particular charting library's configuration options. D3's bundle of web technologies will still be relevant for the years to come, whereas high-level wrappers over it come and go.

So no C3? No NVD3? No D4 either? Not even Victory?!

Those tools all bring value to the table. They make it very easy and quick to put a chart on a page with minimal effort. The reason why they exist is that charting is hard, and D3 is hard. You can have it easy by using those, and that's great – up to the point where you need to customize the chart further than what the library allows.

So we should all write charts from scratch?

No, not really. D3 has a history of enabling code reuse via examples. There are a lot of examples out there. Look for the one you're after here, then customize it.

There are a number of conventions when writing D3 code that make it easier to reuse charts and chart code.

Here are good reads:

Reusing one of the charts

Those examples are meant to be copied and pasted into your project's code. You can then update their rendering code so that it suits the precise need of your project.

Most of the examples are divided into two files: a base class and one that inherits from it. If you intend to use multiple charts, they will most likely share some code – this code should be in the base class.

Contributing

Installation

You first need to clone the project on your computer, and to install Node. This project also uses nvm, and yarn.

From the command-line:

cd ~/Development/sites/
git clone [email protected]:springload/reusable-d3-charts.git
cd reusable-d3-charts

To install our dependencies:

nvm install
# Then, install all project dependencies.
yarn install
# Optionally, install the git hooks.
./.githooks/deploy

Working on the project

Everything mentioned in the installation process should already be done.

# Start the server and the development tools.
yarn run start
# Builds for production
yarn run build
# Rebuild the styles
yarn run css
# Runs tests.
yarn run test
# Runs linting.
yarn run lint

Deploying a new version

To production (gh-pages)

# From the project's root.
# Make sure your master is up to date.
git fetch --all
git checkout master
git pull
git push origin master
# Then push the new changes
yarn run deploy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].