gnuplot- 2D and 3D plots using gnuplot



Modularized interface to gnuplot that allows complex graphics and fine control of their components. It is designed for non-interactive use, e.g. scripts for plotting statistics.

The hierarchy of objects is as follows:

  • Graph2D: A curve like a sine curve. Attributes of a graph are line type, thickness, color.
  • Graph3D: A surface.
  • Plot: An overlay of many curves. It is parametrized by the graph type (2D or 3D) in order to make sure, that only graphs of one type are overlayed and only according attributes can be accessed. You cannot generate plots or graphs alone, you can only generate plots containing graphs using the functions in Graphics.Gnuplot.Plot.TwoDimensional and Graphics.Gnuplot.Plot.ThreeDimensional. You can combine plots using the Monoid type class.
  • Frame: Add options to a plot such as border, legend, title, label attributes. See Graphics.Gnuplot.Frame.
  • MultiPlot: Arrange several frames in a matrix layout. See Graphics.Gnuplot.MultiPlot.



plot :: (C terminal, C gfx) => terminal -> gfx -> IO ExitCodeSource

The plot function returns ExitCode, which is nice for programming but ugly for interactive GHCi sessions. For interactive sessions, better use Graphics.Gnuplot.Simple. gfx must be one of the types Plot, Frame, MultiPlot.