Haskell Charts
A library for rendering 2D charts from haskell.
Features
- Line, Point, Bar and Fill plots, along with combinations.
- Basic Pie Charts
- Automatic layout adjustment
- Auto-scaling of axis values
- Linear, Log, and Time axes
- 2 APIs: one simpler, one more flexible
- Extensible to support new plot types and new layouts
- Rendering to PNG, PS, SVG and PDF files as well as GTK windows (and potentially other cairo backends)
News
03 Oct 2009
v0.12 has been uploaded to hackage. Changes include:
- Stacked Layouts (ie multiple charts aligned in a vertcial stack)
- Integer Axes
- Haddock documentation improvements
- Adjustable alignment of bars within bar plots
- Titles on vertical axes are drawn upwards rather than downwards
- time axes gives reasonable results for times that differ by less than 1 day
- Helper function "autoSteps" to make axis generation easier from client code
28 May 2009
v0.11 of the library has been uploaded to hackage. New features:
- The library now uses Russell O'Connor colour package, and hence supports transparency
- marker lines that span the width/height of a chart
25 March 2009
Don Stewart has put together a short movie showing the library in action.
22 February 2009
V0.10 has been pushed to hackage. Main changes include:
- Support for bar charts
- Compatible with gtk2hs 0.10
- Tested with ghc 6.10
Examples
Simple API
The "simple" API is straightforward to use directly from the ghci REPL. For example:
$ ghci -package Chart ... Prelude> :m Graphics.Rendering.Chart.Simple Prelude Graphics.Rendering.Chart.Simple> plotWindow [0,0.1..2.9] sin
will produce a chart in a window:
Standard API
(Click on the example to enlarge and view its haskell source)
Documentation
The documentation automatically generated by haddock is available here. This corresponds to the repo state tagged CHART_0_6'
To-Do
(too long to list!)
Dependents
There's some nice software that makes use of this library. Follow the links to some applications:
criterion - a benchmarking library for haskell
Timeplot - a program for visualizing data from log files
Dependencies
- Cairo interface for haskell. This is presently only available within the gt2hs library.
Cabal >= 1.2. This comes with ghc-6.8, but needs to be installed in 6.6
- data-accessor
- colour
Download
via darcs, with the command: darcs get http://www.dockerz.net/repos/chart or get a (maybe more) stable version from hackage.
To build
Follow the usual cabal routine. If you fetched from darcs:
cd chart runghc Setup.hs configure runghc Setup.hs build sudo runghc Setup.hs install
or from hackage:
tar -xzf Chart-0.9.tar.gz cd Chart-0.9 runghc Setup.hs configure runghc Setup.hs build sudo runghc Setup.hs install
(Cabal note: the sudo is required to install into a system wide ghc package database. If you want to install only for the current user, then add something like "--user --prefix ~/ghc_local" to the configure line, and drop the sudo)
Finally, to build the set of test charts into a single executable:
cd tests; ghc --make test.hs ./test
Credits
Thanks to David Roundy, Francisco Jerez, Russell O'Connor, and Eugene Kirpichov for contributing patches.
Contact
Mailing List : http://groups.google.com/group/haskell-charts
or Tim Docker:
Patches welcome!







