Plottable.js is a library of chart components for creating flexible, custom charts for websites. It is built on top of D3.js and provides higher-level pieces, like plots, gridlines, and axes. As such, it's easier to quickly build charts than with D3, and the charts are much more flexible than standard-template charts provided by charting libraries. You can think of Plottable as a "D3 for Charts" - it is not a charting library but a library of chart components. Check out examples of Plottable on our website's examples page.
Plottable's core philosophy is "Composition over Configuration", so a lot of the API flexibility is in choosing which Components
to use, and how to arrange them in Tables
, rather than setting high-level properties on the charts. If you find you need a feature that doesn't exist, consider writing a new Component
that implements it as a plugin. This way, you can get your custom functionality and still benefit from the rest of the library. Drop a line at our Google group if you want help implementing a plugin.
Plottable.js is being developed by Palantir Technologies. It's developed in Typescript, and released in Javascript.
- Download plottable.zip or get it via Bower:
bower install --save plottable
- Check out examples, read the docs and visit the website
If you just want to create a simple LineChart, ScatterPlot, or BarChart without worrying about Tables
and Components
, check out our sister library, Chartographer.js. It uses Plottable to create simple charts, and exposes all of the Plottable components so you can use it as a starting point and then add more complexity as desired.
If you run into any problems using Plottable, please let us know. We want Plottable to be easy-to-use, so if you are getting confused, it is our fault, not yours. Create an issue and we'll be happy to help you out.
- Clone the repo
- Install global dependencies
sudo npm install grunt grunt-cli typescript -g
- Install local dependencies
npm install
- Run
grunt
and it will spin up a server (pointed at localhost:9999) and begin compiling the typescript code
- Write your code
- Add tests for new functionality, and please add some quicktests too
- Run
grunt test
and verify it completes with no warnings or failures - Commit new files, including the updated built files like
plottable.js
andplottable.d.ts
- Submit a pull request