Package Info


Terminal-based graphing via ANSI and Unicode


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. Then you must use one of a few 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, and also shows the available ANSI colors.

License: MIT



Package Version Update ID Released Package Hub Version Platforms Subpackages info GA Release 2018-07-30 15
  • AArch64
  • ppc64le
  • x86-64
  • ghc-ansigraph
  • ghc-ansigraph-devel