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

Copyright | (c) Tim Docker 2006, 2014
License | BSD-style (see chart/COPYRIGHT)
Safe Haskell | None
Language | Haskell98

Graphics.Rendering.Chart.Plot.Types

Description

Datatypes and functions common to the implementation of the various plot types.

Synopsis

- data Plot x y = Plot {
  - _plot_render :: PointMapFn x y -> ChartBackend ()
  - _plot_legend :: [(String, Rect -> ChartBackend ())]
  - _plot_all_points :: ([x], [y])
  }
- joinPlot :: Plot x y -> Plot x y -> Plot x y
- class ToPlot a where
  - toPlot :: a x y -> Plot x y
- mapXY :: PointMapFn x y -> (x, y) -> Point
- plot_render :: forall x y. Lens' (Plot x y) (PointMapFn x y -> ChartBackend ())
- plot_legend :: forall x y. Lens' (Plot x y) [(String, Rect -> ChartBackend ())]
- plot_all_points :: forall x y. Lens' (Plot x y) ([x], [y])

# Documentation

data Plot x y Source

Interface to control plotting on a 2D area.

Constructors

Plot |

Fields

_plot_render :: PointMapFn x y -> ChartBackend ()

  Given the mapping between model space coordinates and device coordinates, render this plot into a chart.

_plot_legend :: [(String, Rect -> ChartBackend ())]

  Details for how to show this plot in a legend. For each item the string is the text to show, and the function renders a graphical sample of the plot.

_plot_all_points :: ([x], [y])

  All of the model space coordinates to be plotted. These are used to autoscale the axes where necessary.

Instances

ToPlot Plot Source |

joinPlot :: Plot x y -> Plot x y -> Plot x y Source

Join any two plots together (they will share a legend).

class ToPlot a where Source

A type class abstracting the conversion of a value to a Plot.

Methods

toPlot :: a x y -> Plot x y Source

Instances

ToPlot Plot Source |
ToPlot PlotHidden Source |
ToPlot PlotLines Source |
ToPlot PlotPoints Source |
ToPlot PlotFillBetween Source |
ToPlot PlotErrBars Source |
ToPlot PlotCandle Source |
ToPlot PlotAnnotation Source |
PlotValue z => ToPlot (AreaSpots z) Source |
(PlotValue z, PlotValue t, Show t) => ToPlot (AreaSpots4D z t) Source |

mapXY :: PointMapFn x y -> (x, y) -> Point Source

plot_render :: forall x y. Lens' (Plot x y) (PointMapFn x y -> ChartBackend ()) Source

plot_legend :: forall x y. Lens' (Plot x y) [(String, Rect -> ChartBackend ())] Source

plot_all_points :: forall x y. Lens' (Plot x y) ([x], [y]) Source