plots: Diagrams based plotting library

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Diagrams based plotting library.

[Skip to Readme]


Change log None available
Dependencies adjunctions, base (>=4.7 && <5.0), base-orphans, colour, containers (>=0.3 && <0.7), data-default (>=0.5 && <0.8), diagrams-core (>=1.3 && <1.6), diagrams-lib (>=1.3 && <1.6), directory, distributive, filepath, fingertree, hashable (>=1.1 && <1.4), intervals, JuicyPixels, lens (>=4.6 && <5.2), linear (>=1.2 && <2.0), monoid-extras (>=0.3 && <0.7), mtl (>=1.0 && <2.3), optparse-applicative, process, profunctors, semigroupoids, semigroups, split (>=0.1.2 && <0.5), statistics, time, transformers, vector [details]
License BSD-3-Clause
Author Christopher Chalmers
Category Graphics
Home page
Bug tracker
Source repo head: git clone
Uploaded by cchalmers at 2022-03-07T21:59:48Z


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for plots-

[back to package description]


Haddock Travis Hackage

plots is a plotting library based on diagrams.

Some sample plots:

Scatter plot


Bar plot


Heat map


There are many more plots to be added. There are also plans to support 3D plots. Issues and pull requests welcome.


There are several example plots in the examples/ directory. To build the examples, first ensure that you have stack installed, and that you have a stack.yaml file in this directory that contains the lines:

- '.'
- 'test'

(If you run the command stack init, stack will automatically generate the stack.yaml file with the appropriate packages.)

You can then build the examples using sh stack build stack exec RunExamples The RunExamples script will generate png files in the examples_output directory.

Note: The RunExamples script re-builds an example if the output file (examples_output/X.png) does not exist, or if the source file (examples/X.hs) has been modified since the last time the script was run.

Note 2: If the RunExamples script fails with errors such as Failed to load interface for ... then you will need to stack install the required packages. In my case (with a freshly installed stack), I needed to run the following stack install wreq cassava diagrams-rasterific.