The plot package

[Tags:bsd3, library]

A package for creating plots, built on top of the Cairo rendering engine.

An ambitious attempt to replace gnuplot.

Monadic actions are used to configure a figure, which is a (rxc) array of subplots. Each plot displays a graph with optional heading, labels, legend, and annotations. The annotations themselves may be used to draw diagrams.

A figure is preprocessed in preparation for rendering by the Cairo renderer. The Cairo library can be used to output the figure to PS, PDF, SVG, and PNG file formats, or to display the figure in a GTK Drawable context. (see package plot-gtk).

The preprocessed figure can be embedded as an arbitrary Cairo render, including in a diagram created with the diagram package. Conversely, arbitrary Cairo renders can be embedded in the data region of a Figure.

The data series are type Data.Packed.Vector from hmatrix, which, when hmatrix is compiled with -fvector, is a synonym for Data.Vector.Storable from the vector package and are thus compatible with packages such as statistics.

The example in Graphics.Rendering.Plot can be viewed at

Changes in plot 0.1.1

Changes in plot 0.1.2


[Skip to Readme]


Versions 0.1, 0.1.1,,,,, 0.1.2,,,,,,,,,, 0.1.4,,, 0.1.5,, 0.1.6, 0.1.7,, 0.1.8, 0.2, 0.2.1, 0.2.2, 0.2.3,,,,,,,
Change log CHANGES
Dependencies array, base (==4.*), cairo (>=0.11.1 && <0.13), colour (>=2.2.1 && <2.4), hmatrix (>=0.10), MaybeT, mtl (>2), pango (>=0.11.2 && <0.13) [details]
License BSD3
Copyright (c) A.V.H. McPhail 2010
Author Vivian McPhail
Maintainer haskell.vivian.mcphail <at> gmail <dot> com
Category Graphics
Home page
Source repository head: git clone
Uploaded Thu May 31 02:31:38 UTC 2012 by VivianMcPhail
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 8015 total (52 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for plot

Readme for plot-


Graphics.Rendering.Plot provides an embedded domain-specific
language (EDSL) for creating plots rendered with Cairo

For some examples of use, see .


To install the Plots library:

1. Get the dependencies

    The plots library uses Haskell bindings to the Cairo vector
    graphics library.  In order to build the plots library, you
    will first need the following:

    * The Cairo library itself.  This is probably available through
      your system's package manager and may even already be installed.
      On Ubuntu, for example, it is available from the 'libcairo'

    * The Haskell cairo bindings, which are packaged as part of
      gtk2hs.  Unfortunately, for various technical reasons, gtk2hs is
      not cabalized and cannot be downloaded and installed from
      Hackage.  To get gtk2hs you will need to go to the gtk2hs
      website ( and follow the
      instructions to download and build it.

    * The colour library, which is available from Hackage.  If you use
      the cabal-install build option described below, the colour
      library will be downloaded and installed for you automatically.

2. Build

   * Option 1: use cabal-install

     If you have cabal-install, *after* installing gtk2hs, you can
     install plots and the remaining dependencies with

       cabal install plot

     Optionally, you can also pass options such as --user
     --prefix=$HOME to install locally.

  * Option 2: manual build

    Once all the dependencies are built and installed, you can build
    and install plots as follows:
      runhaskell Setup.lhs configure --prefix=$HOME --user
      runhaskell Setup.lhs build
      runhaskell Setup.lhs install

    (Optionally, you can omit the --prefix and --user arguments to the
    configure step, and run the install step with 'sudo' in order to
    install the library systemwide.)

3. Building Haddock documentation (recommended)

     runhaskell Setup.lhs haddock

   Once the documentation has been built, you can access it by 
   pointing your browser to dist/doc/html/plot/index.html.