TypeScript JavaScript Other
Permalink
Failed to load latest commit information.
quicktests category axis downsampling accounts for shearing (#3234) Feb 15, 2017
src remove measurer reset (#3230) Feb 15, 2017
test Category axis doesn't consider offscreen labels when requesting space (… Feb 10, 2017
typings/d3 Infrastructure: Update to use @types (#3101) Oct 29, 2016
.editorconfig EditorConfig, whitespace cleanup, README edits Dec 7, 2015
.eslintrc Routable Quicktests (#3199) Feb 2, 2017
.gitattributes Force git to recognize .d.ts files as text Oct 22, 2015
.gitignore [WIP] Convert codebase to module format (#3184) Feb 3, 2017
.jscsrc adding EOF newline Jun 17, 2015
.npmignore Add build/ folder to NPM dist; remove plottable-npm UMD bundle (#3205) Feb 6, 2017
.sublimets sublime tsc compiling working Jun 3, 2014
Gruntfile.js Make sed command work in BSD and Linux. Don't double-test in dist-com… Feb 15, 2017
LICENSE update copyright on licenses (#3154) Jan 11, 2017
README.md Remove outdated CLA information (#3157) Jan 11, 2017
bower.json Update package semver for release 3.0.0-beta.1 (#3235) Feb 15, 2017
circle.yml Update regex used to determine if tag is a release tag to include '-b… Feb 15, 2017
demo.js Remove superfluous demos preview (#3202) Feb 2, 2017
license_header.txt add license header to source files (#3206) Feb 8, 2017
namespacingTests.ts [WIP] Convert codebase to module format (#3184) Feb 3, 2017
package.json Make sed command work in BSD and Linux. Don't double-test in dist-com… Feb 15, 2017
plottable.css Bar Labels: Remove Italics (#3195) Feb 1, 2017
plottable.d.ts [WIP] Convert codebase to module format (#3184) Feb 3, 2017
plottable.js Update package semver for release 3.0.0-beta.1 (#3235) Feb 15, 2017
plottable.min.js Update package semver for release 3.0.0-beta.1 (#3235) Feb 15, 2017
plottable.zip Update package semver for release 3.0.0-beta.1 (#3235) Feb 15, 2017
tsconfig.json [WIP] Convert codebase to module format (#3184) Feb 3, 2017
tsd.json Infrastructure: Update to use @types (#3101) Oct 29, 2016
tslint.json Infrastructure: Upgrade TSLint to 3.15 (#3099) Oct 29, 2016
webpack.config.js fix `grunt`; fix `npm run start`; write to plottable.js while dev-wat… Feb 9, 2017

README.md

Plottable Builds

Join the chat at https://gitter.im/palantir/plottable

Overview

Plottable 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 rather a library of chart components. Check out examples of Plottable on our website's examples page.

Philosophy

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 the functionality. This way, you can get your custom functionality and still benefit from the rest of the library.

Plottable is used and developed at Palantir Technologies. It's developed in TypeScript and distributed in ES5 JavaScript.

Quick Start

Upgrading to v1.0.0

If you are upgrading from a pre-v1.0.0 version of Plottable to v1.0.0 or later, please use the Upgrade Guide on the wiki.

We Want To Help!

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, or drop by our Gitter room.

Development

  • Clone the repo
  • Install global dependencies npm install grunt grunt-cli -g
  • Install local dependencies npm install
  • Run grunt and it will spin up a server (pointed at http://localhost:9999) and begin compiling the typescript code
  • If you get an EACCESS error at any point, instead of running command with sudo try first changing permission to following folders:
    • usr/local by running sudo chown -R "$(whoami)" /usr/local
    • ~/.npm/ by running sudo chown -R "$(whoami)" ~/.npm/
  • Navigate to http://localhost:9999/quicktests/ and choose a directory to view visual tests

Contributing

  • 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 and plottable.d.ts
  • Submit a pull request and sign the CLA when prompted by our bot