Copyright | (c) Tim Docker 2006, 2014 |
---|---|
License | BSD-style (see chart/COPYRIGHT) |
Safe Haskell | None |
Language | Haskell98 |
Type definitions for Axes
- data AxisData x = AxisData {
- _axis_visibility :: AxisVisibility
- _axis_viewport :: Range -> x -> Double
- _axis_tropweiv :: Range -> Double -> x
- _axis_ticks :: [(x, Double)]
- _axis_labels :: [[(x, String)]]
- _axis_grid :: [x]
- data AxisVisibility = AxisVisibility {}
- data AxisT x = AxisT RectEdge AxisStyle Bool (AxisData x)
- data AxisStyle = AxisStyle {}
- class Ord a => PlotValue a where
- type AxisFn x = [x] -> AxisData x
- defaultAxisLineStyle :: LineStyle
- defaultGridLineStyle :: LineStyle
- makeAxis :: PlotValue x => (x -> String) -> ([x], [x], [x]) -> AxisData x
- makeAxis' :: Ord x => (x -> Double) -> (Double -> x) -> (x -> String) -> ([x], [x], [x]) -> AxisData x
- axisToRenderable :: AxisT x -> Renderable x
- renderAxisGrid :: RectSize -> AxisT z -> ChartBackend ()
- axisOverhang :: Ord x => AxisT x -> ChartBackend (Double, Double)
- vmap :: PlotValue x => (x, x) -> Range -> x -> Double
- invmap :: PlotValue x => (x, x) -> Range -> Double -> x
- linMap :: (a -> Double) -> (a, a) -> Range -> a -> Double
- invLinMap :: (Double -> a) -> (a -> Double) -> (a, a) -> Range -> Double -> a
- axisGridAtTicks :: AxisData x -> AxisData x
- axisGridAtBigTicks :: AxisData x -> AxisData x
- axisGridAtLabels :: AxisData x -> AxisData x
- axisGridHide :: AxisData x -> AxisData x
- axisLabelsOverride :: [(x, String)] -> AxisData x -> AxisData x
- axis_show_line :: Lens' AxisVisibility Bool
- axis_show_ticks :: Lens' AxisVisibility Bool
- axis_show_labels :: Lens' AxisVisibility Bool
- axis_visibility :: forall x. Lens' (AxisData x) AxisVisibility
- axis_viewport :: forall x. Lens' (AxisData x) (Range -> x -> Double)
- axis_tropweiv :: forall x. Lens' (AxisData x) (Range -> Double -> x)
- axis_ticks :: forall x. Lens' (AxisData x) [(x, Double)]
- axis_labels :: forall x. Lens' (AxisData x) [[(x, String)]]
- axis_grid :: forall x. Lens' (AxisData x) [x]
- axis_line_style :: Lens' AxisStyle LineStyle
- axis_label_style :: Lens' AxisStyle FontStyle
- axis_grid_style :: Lens' AxisStyle LineStyle
- axis_label_gap :: Lens' AxisStyle Double
Documentation
The basic data associated with an axis showing values of type x.
AxisData | |
|
data AxisVisibility Source
Configures whick visual elements of a axis are shown at the appropriate edge of a plot area.
AxisVisibility | |
|
Default AxisVisibility | By default all parts of a axis are visible. |
Collect the information we need to render an axis. The bool is true if the axis direction is reversed.
Control values for how an axis gets displayed.
AxisStyle | |
|
class Ord a => PlotValue a where Source
A typeclass abstracting the functions we need to be able to plot against an axis of type a
type AxisFn x = [x] -> AxisData x Source
A function to generate the axis data, given the data values to be plotted against it.
defaultAxisLineStyle :: LineStyle Source
The default LineStyle
of an axis.
defaultGridLineStyle :: LineStyle Source
The default LineStyle
of a plot area grid.
makeAxis :: PlotValue x => (x -> String) -> ([x], [x], [x]) -> AxisData x Source
Construct an axis given the positions for ticks, grid lines, and labels, and the labelling function
makeAxis' :: Ord x => (x -> Double) -> (Double -> x) -> (x -> String) -> ([x], [x], [x]) -> AxisData x Source
Construct an axis given the positions for ticks, grid lines, and labels, and the positioning and labelling functions
axisToRenderable :: AxisT x -> Renderable x Source
Construct a renderable from an axis, in order that
it can be composed with other renderables and drawn. This
does not include the drawing of the grid, which must be done
separately by the renderAxisGrid
function.
renderAxisGrid :: RectSize -> AxisT z -> ChartBackend () Source
axisOverhang :: Ord x => AxisT x -> ChartBackend (Double, Double) Source
Calculate the amount by which the labels extend beyond the ends of the axis.
vmap :: PlotValue x => (x, x) -> Range -> x -> Double Source
A linear mapping of points in one range to another.
invmap :: PlotValue x => (x, x) -> Range -> Double -> x Source
The inverse mapping from device co-ordinate range back to interesting values.
linMap :: (a -> Double) -> (a, a) -> Range -> a -> Double Source
A linear mapping of points in one range to another.
invLinMap :: (Double -> a) -> (a -> Double) -> (a, a) -> Range -> Double -> a Source
An inverse linear mapping of points from one range to another.
axisGridAtTicks :: AxisData x -> AxisData x Source
Modifier to position grid lines to line up with the ticks
axisGridAtBigTicks :: AxisData x -> AxisData x Source
Modifier to position grid lines to line up with only the major ticks
axisGridAtLabels :: AxisData x -> AxisData x Source
Modifier to position grid lines to line up with the labels
axisGridHide :: AxisData x -> AxisData x Source
Modifier to remove grid lines from an axis
axisLabelsOverride :: [(x, String)] -> AxisData x -> AxisData x Source
Modifier to change labels on an axis
axis_visibility :: forall x. Lens' (AxisData x) AxisVisibility Source
axis_ticks :: forall x. Lens' (AxisData x) [(x, Double)] Source
axis_labels :: forall x. Lens' (AxisData x) [[(x, String)]] Source