Chart-1.0: A library for generating 2D Charts and Plots

Safe HaskellNone

Graphics.Rendering.Chart.Simple

Description

An even simpler framework for creating 2D charts in Haskell.

The basic idea is to make it as easy to plot as octave, which means that you provide no more information than you wish to provide. We provide four plotting functions, which differ only in their output. One produces a Layout1 that you can customize using other Graphics.Rendering.Chart functions. The other three produce their output directly. All three accept the same input and produce the same plots.

The plot functions accept a variable number of arguments. You must provide a [Double] which defines the points on the x axis, which must precede any of the y values. The y values may either be [Double] or functions. After any given y value, you can give either Strings or PlotKinds describing how you'd like that y printed.

Examples:

 plotPDF "foo.pdf" [0,0.1..10] sin "- " cos ". " cos "o"
 plotPS "foo.ps" [0,0.1..10] (sin . exp) "- " (sin . exp) "o-"

Synopsis

Documentation

plot :: PlotType a => aSource

The main plotting function. The idea behind PlotType is shamelessly copied from Text.Printf (and is not exported). All you need to know is that your arguments need to be in class PlotArg. And PlotArg consists of functions and [Double] and String and PlotKind or [PlotKind].

data PlotKind Source

Type to define a few simple properties of each plot.

plotPDF :: PlotPDFType a => String -> aSource

Save a plot as a PDF file.

plotPS :: PlotPSType a => String -> aSource

Save a plot as a postscript file.

plotPNG :: PlotPNGType a => String -> aSource

Save a plot as a png file.

class PlotPDFType t whereSource

Methods

pld :: FilePath -> [UPlot] -> tSource

Instances

(PlotArg a, PlotPDFType r) => PlotPDFType (a -> r) 

class PlotPSType t whereSource

Methods

pls :: FilePath -> [UPlot] -> tSource

Instances

(PlotArg a, PlotPSType r) => PlotPSType (a -> r) 

class PlotPNGType t whereSource

Methods

plp :: FilePath -> [UPlot] -> tSource

Instances

(PlotArg a, PlotPNGType r) => PlotPNGType (a -> r)