plot: A plotting library, exportable as eps/pdf/svg/png or renderable with gtk

[ bsd3, graphics, library ] [ Propose Tags ]

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

[Skip to Readme]


[Last Documentation]

  • Graphics
    • Rendering
      • Graphics.Rendering.Plot
        • Graphics.Rendering.Plot.Figure
          • Graphics.Rendering.Plot.Figure.Simple
        • Graphics.Rendering.Plot.Render


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 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 (>0.5 && <0.6), base (>= && <5), cairo (>=0.13 && <0.14), colour (>=2.2.1 && <2.4), hmatrix (>=0.17 && <0.21), mtl (>2 && <3), pango (>=0.13 && <0.14), transformers (>0.5 && <0.7) [details]
License BSD-3-Clause
Copyright (c) A.V.H. McPhail 2010, 2012-2017, 2019, 2024
Author Vivian McPhail
Maintainer haskell.vivian.mcphail <at> gmail <dot> com
Category Graphics
Home page
Source repo head: git clone
Uploaded by VivianMcPhail at 2024-03-18T22:27:54Z
Distributions Stackage:
Reverse Dependencies 5 direct, 0 indirect [details]
Downloads 33614 total (109 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2024-03-18 [all 2 reports]

Readme for plot-

[back to package description]

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
           cabal install gtk2hs-buildtools
	   cabal install gtk

    * 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.