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.