ansigraph: Terminal-based graphing via ANSI and Unicode

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


Ansigraph is an ultralightweight terminal-based graphing utility. It uses unicode characters and ANSI escape codes to display and animate colored graphs of vectors/functions in real and complex variables.

This functionality is provided by a Graphable type class, whose method graphWith draws a graph at the terminal. Another function animateWith takes a list of Graphable elements and displays an animation by rendering them in sequence. Both of these functions take an options record as an argument. The graph and animate functions are defined to use the default options, and the user can define similar functions based on their own settings.

There are two main ways to use the package. Importing System.Console.Ansigraph provides all the functionality we typically use. This includes the FlexibleInstances extension, which makes it marginally more convenient to use graphing functions by allowing instances like 'Graphable [Double]'.

If you want to use the package without activating FlexibleInstances then you can import System.Console.Ansigraph.Core, which provides everything except these instances. To graph you must use one of a handful of newtype wrappers, namely: Graph, PosGraph, CGraph, Mat, CMat. These wrappers are also available from the standard Ansigraph module.

The System.Console.Ansigraph.Examples module contains examples of all the graph types with animations of various plane waves, and also shows the available ANSI colors.


Change logNone available
Dependenciesansi-terminal (==0.6.*), base (==4.8.*) [details]
AuthorCliff Harvey
Home page
Source repositoryhead: git clone git://
UploadedMon Oct 5 13:52:27 UTC 2015 by Cliff_Harvey




Maintainers' corner

For package maintainers and hackage trustees