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

Copyright(c) Tim Docker 2006, 2014
LicenseBSD-style (see chart/COPYRIGHT)
Safe HaskellNone
LanguageHaskell98

Graphics.Rendering.Chart.Plot.Bars

Description

Bar Charts

Synopsis

Documentation

data PlotBars x y

Value describing how to plot a set of bars. Note that the input data is typed [(x,[y])], ie for each x value we plot several y values. Typically the size of each [y] list would be the same.

Constructors

PlotBars 

Fields

_plot_bars_style :: PlotBarsStyle

This value specifies whether each value from [y] should be shown beside or above the previous value.

_plot_bars_item_styles :: [(FillStyle, Maybe LineStyle)]

The style in which to draw each element of [y]. A fill style is required, and if a linestyle is given, each bar will be outlined.

_plot_bars_titles :: [String]

The title of each element of [y]. These will be shown in the legend.

_plot_bars_spacing :: PlotBarsSpacing

This value controls how the widths of the bars are calculated. Either the widths of the bars, or the gaps between them can be fixed.

_plot_bars_alignment :: PlotBarsAlignment

This value controls how bars for a fixed x are aligned with respect to the device coordinate corresponding to x.

_plot_bars_reference :: y

The starting level for the chart (normally 0).

_plot_bars_singleton_width :: Double
 
_plot_bars_values :: [(x, [y])]

The actual points to be plotted.

Instances

data PlotBarsStyle

Constructors

BarsStacked

Bars for a fixed x are stacked vertically on top of each other.

BarsClustered

Bars for a fixed x are put horizontally beside each other.

Instances

data PlotBarsSpacing

Constructors

BarsFixWidth Double

All bars have the same width in pixels.

BarsFixGap Double Double

(BarsFixGap g mw) means make the gaps between the bars equal to g, but with a minimum bar width of mw

data PlotBarsAlignment

How bars for a given (x,[y]) are aligned with respect to screen coordinate corresponding to x (deviceX).

Constructors

BarsLeft

The left edge of bars is at deviceX

BarsCentered

Bars are centered around deviceX

BarsRight

The right edge of bars is at deviceX

class PlotValue a => BarsPlotValue a where

Methods

barsReference :: a

barsAdd :: a -> a -> a

plotBars :: BarsPlotValue y => PlotBars x y -> Plot x y

plot_bars_titles :: forall x y. Lens' (PlotBars x y) [String]

plot_bars_reference :: forall x y. Lens' (PlotBars x y) y

plot_bars_values :: forall x y x. Lens (PlotBars x y) (PlotBars x y) [(x, [y])] [(x, [y])]