The ansigraph package


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.


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