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 -> BackendProgram ()
- axisOverhang :: Ord x => AxisT x -> BackendProgram (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 Source # | 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 -> BackendProgram () Source #
axisOverhang :: Ord x => AxisT x -> BackendProgram (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 #