Plottable.js is a library for easily creating flexible, interactive, and performant charts for the web. It is built on top of D3 and provides higher-level pieces, like plots, gridlines, and axes. As such, it's easier to quickly build charts
Plottable consists of three main pieces:
- A grid-based layout engine which handles positioning, sizing, and alignment of components
- "Components", such as LinePlot or Axis, which process data and can be connected to d3 Scales
- "Interactions", such as PanZoomInteraction or AreaInteraction, which easily allow for custom logic to be bound to common interaction patterns
By virtue of being higher-level than D3, it is often much easier to create charts in Plottable.js, with less of a learning curve. Plottable's Plots provide a convenient API for encapsulating, sharing and reusing D3 visualizations.
Plottable.js is being developed by Palantir Technologies. It's developed in Typescript, and released in Javascript. Plottable's API is not yet stable.
- Download plottable.zip or get it via Bower:
bower install --save plottable
- Read the docs and visit the website
- 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 - For local experimentation, the source files are individually compiled to their own javascript files, with
plottable_multifile.js
responsible for loading them together when ready
- Write your code
- Add tests for new functionality
- 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