MCPcopy
hub / github.com/palantir/plottable

github.com/palantir/plottable @v3.13.0 sqlite

repository ↗ · DeepWiki ↗ · release v3.13.0 ↗
2,228 symbols 7,658 edges 286 files 337 documented · 15%
README

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

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.

Upgrading to v2.0.0

Check out the full list of changes between v1.16.2 and v2.0.0.

Upgrading to v3.0.0

Check out the full list of changes between v2.9.0 and v3.0.0.

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 local dependencies yarn install
  • Run yarn build to build the dependencies
  • Run yarn start and it will spin up a server (pointed at http://localhost:9999) and begin compiling the typescript code
  • 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 yarn test and verify it completes with no warnings or failures
  • Submit a pull request and sign the CLA when prompted by our bot

Extension points exported contracts — how you extend this code

IDrawer (Interface)
(no doc) [6 implementers]
src/drawers/drawer.ts
IRenderPolicy (Interface)
(no doc) [9 implementers]
src/core/renderPolicy.ts
IAnimator (Interface)
(no doc) [6 implementers]
src/animators/animator.ts
ITransformableScale (Interface)
(no doc) [4 implementers]
src/scales/index.ts
ILegendColumn (Interface)
* The Legend's column representation. Stores position information * as well as data
src/components/legend.ts
IRTreeSplitStrategy (Interface)
(no doc) [2 implementers]
src/utils/rTreeSplitStrategies.ts
Window (Interface)
(no doc)
test/window.d.ts
IPanZoomTestCallback (Interface)
(no doc)
test/interactions/panZoomInteractionTests.ts

Core symbols most depended-on inside this repo

domain
called by 699
src/scales/scale.ts
remove
called by 676
src/drawers/drawer.ts
renderTo
called by 473
src/components/component.ts
scale
called by 400
src/scales/scale.ts
attr
called by 357
src/plots/plot.ts
content
called by 351
src/components/component.ts
addDataset
called by 337
src/plots/plot.ts
forEach
called by 281
src/utils/map.ts

Shape

Method 1,210
Function 775
Class 203
Interface 35
Enum 5

Languages

TypeScript100%

Modules by API surface

test/blanket_mocha.js134 symbols
src/plots/plot.ts66 symbols
src/plots/barPlot.ts58 symbols
src/axes/axis.ts53 symbols
src/utils/rTree.ts50 symbols
src/components/component.ts43 symbols
test/testMethods.ts41 symbols
src/components/legend.ts37 symbols
src/interactions/panZoomInteraction.ts36 symbols
src/plots/linePlot.ts35 symbols
src/scales/quantitativeScale.ts34 symbols
src/plots/piePlot.ts33 symbols

Dependencies from manifests, versioned

@types/chai3.4.34 · 1×
@types/d34.13.0 · 1×
@types/d3-selection-multi1.0.4 · 1×
@types/d3-shape1.2.5 · 1×
@types/is-plain-object0.0.2 · 1×
@types/lodash4.14.109 · 1×
@types/lodash-es4.17.3 · 1×
@types/mocha2.2.27 · 1×
@types/sinon1.16.36 · 1×
awesome-typescript-loader3.4.1 · 1×
chai2.0.0 · 1×
circle-github-bot1.0.0 · 1×

For agents

$ claude mcp add plottable \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact