Plot-ho-matic: Real-time line plotter for generic data

[ bsd3, graphics, library ] [ Propose Tags ]
Change log
Dependencies base (>= && <5), bytestring, cairo, cereal, Chart (>=1.1), Chart‑cairo (>=1.1), colour, containers, data‑default‑class, generic‑accessors (>=, glib, gtk3 (>=0.14.2), lens, Plot‑ho‑matic, text, time, transformers, vector [details]
License BSD-3-Clause
Copyright Copyright (c) 2013-2015, Greg Horn
Author Greg Horn
Category Graphics
Uploaded by GregHorn at Fri Feb 16 23:27:05 UTC 2018
Distributions NixOS:
Executables set-example, plot-example
Downloads 8829 total (114 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-02-16 [all 1 reports]
Hackage Matrix CI

Plot-ho-matic provides real-time plotting of time-series data with a simple interface (addHistoryChannel). There is also a more general interface to plot arbitrary data (addChannel).

See the example on to help get started.

[Skip to Readme]





build the examples


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for Plot-ho-matic-

[back to package description]

Plot-ho-matic (and Set-ho-matic)

Hackage Build Status

Plot-ho-matic is a GUI for high-performance real-time plotting with a convenient TreeView interface for selecting which elements to draw from a data structure. The focus is on ease of use, with optional advanced interfaces for more features.

Plot-ho-matic in action

The sister library Set-ho-matic is a GUI for editing haskell data and sending those changes to some running program. It can also query the program for it's latest data and has save and load features.

Set-ho-matic in action

Both Plot-ho-matic and Set-ho-matic rely heavily on generic-accessors which uses GHC.Generics to create trees from haskell data.


See the hackage docs starting with the main PlotHo module for documentation. There is also an examples folder in the git repository.


"user error: out of memory" If you get this ^ error on OSX your cairo/pango/gtk may be linked to an XQuartz library. Add --extra-lib-dirs=/usr/local/lib (or wherever the correct libraries are) to your .cabal/config

== Special thanks to Chart and gtk2hs, which do all the heavy lifting.