The Plot-ho-matic package

[Tags:bsd3, library]

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]


Change log
Dependencies base (>= && <5), bytestring, cairo, cereal, Chart (>=1.1), Chart-cairo (>=1.1), containers, data-default-class, generic-accessors (>=, glib, gtk3 (>=0.14.2), lens, Plot-ho-matic, text, time, transformers, vector [details]
License BSD3
Copyright Copyright (c) 2013-2015, Greg Horn
Author Greg Horn
Category Graphics
Uploaded Wed Mar 22 21:19:21 UTC 2017 by GregHorn
Distributions NixOS:
Downloads 3826 total (91 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2017-03-22 [all 1 reports]
Hackage Matrix CI





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

Readme for Plot-ho-matic-

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.