1 Deciding what library to use

Graphite is implemented on top of plot, and in no way serves as a replacement to it, instead serving as a complement. As a consequence, Graphite’s functionality is in no way a strict superset of plot.

If your data visualization satisfies some of the following criteria, Graphite would be a good fit:
  • Your data is comprised of discrete points. Graphite requires all data to be read into a data-frame before creating any visualization. This means that if your plot consists of continuous data (e.g. a function), Graphite is unlikely to fit your needs.

  • Your plot is intended for use as an image. Graphite exports all plots as a pict. For various reasons, it does not support the interactivity that plot snips provide. Graphite’s generated plots work great in Scribble, or embedded into any other document by saving the file using save-pict.

  • Your intended plot is 2D. Graphite does not support 3D plots, and it probably never will.

  • You don’t know what data visualization method you want to use. Graphite’s main goal is to prevent significant structural changes when, for example, switching from a scatter plot to a histogram.

If your data is untidy, it will require further processing before being read into a data-frame. This will be covered later in the tutorial, and requires the Sawzall library (docs at Sawzall: A grammar for chopping up data), specifically designed to complement Graphite.

If your data is primarily continuous, needs to be interactive, or needs to be 3D, plot is likely to be a better fit.