Chart-1.9.5: 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.Layout

Contents

- Types
- Rendering
- LayoutAxis lenses
- Layout lenses
- LayoutLR lenses
- StackedLayouts lenses

Description

This module glues together axes and plots to actually create a renderable for a chart.

Note that Template haskell is used to derive accessor functions (see `Lens`) for each field of the following data types:

- `Layout`
- `LayoutLR`
- `StackedLayouts`
- `LayoutAxis`

Synopsis

- data Layout x y = Layout {
  - _layout_background :: FillStyle
  - _layout_plot_background :: Maybe FillStyle
  - _layout_title :: String
  - _layout_title_style :: FontStyle
  - _layout_x_axis :: LayoutAxis x
  - _layout_top_axis_visibility :: AxisVisibility
  - _layout_bottom_axis_visibility :: AxisVisibility
  - _layout_y_axis :: LayoutAxis y
  - _layout_left_axis_visibility :: AxisVisibility
  - _layout_right_axis_visibility :: AxisVisibility
  - _layout_plots :: [Plot x y]
  - _layout_legend :: Maybe LegendStyle
  - _layout_margin :: Double
  - _layout_grid_last :: Bool
  }
- data LayoutLR x y1 y2 = LayoutLR {
  - _layoutlr_background :: FillStyle
  - _layoutlr_plot_background :: Maybe FillStyle
  - _layoutlr_title :: String
  - _layoutlr_title_style :: FontStyle
  - _layoutlr_x_axis :: LayoutAxis x
  - _layoutlr_top_axis_visibility :: AxisVisibility
  - _layoutlr_bottom_axis_visibility :: AxisVisibility
  - _layoutlr_left_axis :: LayoutAxis y1
  - _layoutlr_left_axis_visibility :: AxisVisibility
  - _layoutlr_right_axis :: LayoutAxis y2
  - _layoutlr_right_axis_visibility :: AxisVisibility
  - _layoutlr_plots :: [Either (Plot x y1) (Plot x y2)]
  - _layoutlr_legend :: Maybe LegendStyle
  - _layoutlr_margin :: Double
  - _layoutlr_grid_last :: Bool
  }
- data LayoutAxis x = LayoutAxis {
  - _laxis_title_style :: FontStyle
  - _laxis_title :: String
  - _laxis_style :: AxisStyle
  - _laxis_generate :: AxisFn x
  - _laxis_override :: AxisData x -> AxisData x
  - _laxis_reverse :: Bool
  }
- data LayoutPick x y1 y2
  - = LayoutPick_Legend String
  - | LayoutPick_Title String
  - | LayoutPick_XTopAxisTitle String
  - | LayoutPick_XBottomAxisTitle String
  - | LayoutPick_YLeftAxisTitle String
  - | LayoutPick_YRightAxisTitle String
  - | LayoutPick_PlotArea x y1 y2
  - | LayoutPick_XTopAxis x
  - | LayoutPick_XBottomAxis x
  - | LayoutPick_YLeftAxis y1
  - | LayoutPick_YRightAxis y2
- data StackedLayouts x = StackedLayouts {
  - _slayouts_layouts :: [StackedLayout x]
  - _slayouts_compress_legend :: Bool
  }
- data StackedLayout x
  - = Ord y => StackedLayout (Layout x y)
  - | (Ord yl, Ord yr) => StackedLayoutLR (LayoutLR x yl yr)
- type MAxisFn t = [t] -> Maybe (AxisData t)
- layoutToRenderable :: (Ord x, Ord y) => Layout x y -> Renderable (LayoutPick x y y)
- layoutToGrid :: (Ord x, Ord y) => Layout x y -> Grid (Renderable (LayoutPick x y y))
- layoutLRToRenderable :: (Ord x, Ord yl, Ord yr) => LayoutLR x yl yr -> Renderable (LayoutPick x yl yr)
- layoutLRToGrid :: (Ord x, Ord yl, Ord yr) => LayoutLR x yl yr -> Grid (Renderable (LayoutPick x yl yr))
- renderStackedLayouts :: Ord x => StackedLayouts x -> Renderable ()
- laxis_title_style :: forall x f. Functor f => (FontStyle -> f FontStyle) -> LayoutAxis x -> f (LayoutAxis x)
- laxis_title :: forall x f. Functor f => (String -> f String) -> LayoutAxis x -> f (LayoutAxis x)
- laxis_style :: forall x f. Functor f => (AxisStyle -> f AxisStyle) -> LayoutAxis x -> f (LayoutAxis x)
- laxis_generate :: forall x f. Functor f => (AxisFn x -> f (AxisFn x)) -> LayoutAxis x -> f (LayoutAxis x)
- laxis_override :: forall x f. Functor f => ((AxisData x -> AxisData x) -> f (AxisData x -> AxisData x)) -> LayoutAxis x -> f (LayoutAxis x)
- laxis_reverse :: forall x f. Functor f => (Bool -> f Bool) -> LayoutAxis x -> f (LayoutAxis x)
- layout_background :: forall x y f. Functor f => (FillStyle -> f FillStyle) -> Layout x y -> f (Layout x y)
- layout_plot_background :: forall x y f. Functor f => (Maybe FillStyle -> f (Maybe FillStyle)) -> Layout x y -> f (Layout x y)
- layout_title :: forall x y f. Functor f => (String -> f String) -> Layout x y -> f (Layout x y)
- layout_title_style :: forall x y f. Functor f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y)
- layout_x_axis :: forall x y f. Functor f => (LayoutAxis x -> f (LayoutAxis x)) -> Layout x y -> f (Layout x y)
- layout_top_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y)
- layout_bottom_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y)
- layout_y_axis :: forall x y f. Functor f => (LayoutAxis y -> f (LayoutAxis y)) -> Layout x y -> f (Layout x y)
- layout_left_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y)
- layout_right_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y)
- layout_margin :: forall x y f. Functor f => (Double -> f Double) -> Layout x y -> f (Layout x y)
- layout_plots :: forall x y f. Functor f => ([Plot x y] -> f [Plot x y]) -> Layout x y -> f (Layout x y)
- layout_legend :: forall x y f. Functor f => (Maybe LegendStyle -> f (Maybe LegendStyle)) -> Layout x y -> f (Layout x y)
- layout_grid_last :: forall x y f. Functor f => (Bool -> f Bool) -> Layout x y -> f (Layout x y)
- layout_axes_styles :: forall x y f. Settable f => (AxisStyle -> f AxisStyle) -> Layout x y -> f (Layout x y)
- layout_axes_title_styles :: forall x y f. Settable f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y)
- layout_all_font_styles :: forall x y f. Settable f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y)
- layout_foreground :: forall x y f. Settable f => (AlphaColour Double -> f (AlphaColour Double)) -> Layout x y -> f (Layout x y)
- layoutlr_background :: forall x y1 y2 f. Functor f => (FillStyle -> f FillStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_plot_background :: forall x y1 y2 f. Functor f => (Maybe FillStyle -> f (Maybe FillStyle)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_title :: forall x y1 y2 f. Functor f => (String -> f String) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_title_style :: forall x y1 y2 f. Functor f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_x_axis :: forall x y1 y2 f. Functor f => (LayoutAxis x -> f (LayoutAxis x)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_top_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_bottom_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_left_axis :: forall x y1 y2 f. Functor f => (LayoutAxis y1 -> f (LayoutAxis y1)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_right_axis :: forall x y1 y2 f. Functor f => (LayoutAxis y2 -> f (LayoutAxis y2)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_left_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_right_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_plots :: forall x y1 y2 f. Functor f => ([Either (Plot x y1) (Plot x y2)] -> f [Either (Plot x y1) (Plot x y2)]) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_legend :: forall x y1 y2 f. Functor f => (Maybe LegendStyle -> f (Maybe LegendStyle)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_margin :: forall x y1 y2 f. Functor f => (Double -> f Double) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_grid_last :: forall x y1 y2 f. Functor f => (Bool -> f Bool) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_axes_styles :: forall x y1 y2 f. Settable f => (AxisStyle -> f AxisStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_axes_title_styles :: forall x y1 y2 f. Settable f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_all_font_styles :: forall x y1 y2 f. Settable f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- layoutlr_foreground :: forall x y1 y2 f. Settable f => (AlphaColour Double -> f (AlphaColour Double)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2)
- slayouts_layouts :: forall x1 x2 f. Functor f => ([StackedLayout x1] -> f [StackedLayout x2]) -> StackedLayouts x1 -> f (StackedLayouts x2)
- slayouts_compress_legend :: forall x f. Functor f => (Bool -> f Bool) -> StackedLayouts x -> f (StackedLayouts x)

# Types

data Layout x y #

A Layout value is a single plot area, with single x and y axis. The title is at the top and the legend at the bottom. It's parametrized by the types of values to be plotted on the x and y axes.

Constructors

Layout |
Fields _layout_background :: FillStyle How to fill the background of everything. _layout_plot_background :: Maybe FillStyle How to fill the background of the plot, if different from the overall background. _layout_title :: String Title to display above the chart. _layout_title_style :: FontStyle Font style to use for the title. _layout_x_axis :: LayoutAxis x Rules to generate the x axis. _layout_top_axis_visibility :: AxisVisibility Visibility options for the top axis. _layout_bottom_axis_visibility :: AxisVisibility Visibility options for the bottom axis. _layout_y_axis :: LayoutAxis y Rules to generate the y axis. _layout_left_axis_visibility :: AxisVisibility Visibility options for the left axis. _layout_right_axis_visibility :: AxisVisibility Visibility options for the right axis. _layout_plots :: [Plot x y] The data sets to plot in the chart. They are plotted over each other. _layout_legend :: Maybe LegendStyle How to style the legend. _layout_margin :: Double The margin distance to use. _layout_grid_last :: Bool If the grid shall be rendered beneath (`False`) or over (`True`) all plots.

#### Instances

Instances details

(Ord x, Ord y) => ToRenderable (Layout x y) # |
Instance details Defined in Graphics.Rendering.Chart.Layout Methods toRenderable :: Layout x y -> Renderable () #
(PlotValue x, PlotValue y) => Default (Layout x y) # | Empty `Layout` without title and plots. The background is white and the grid is drawn beneath all plots. There will be a legend. The top and right axis will not be visible.
Instance details Defined in Graphics.Rendering.Chart.Layout Methods def :: Layout x y #

data LayoutLR x y1 y2 #

A LayoutLR value is a single plot area, with an x axis and independent left and right y axes, with a title at the top; legend at the bottom. It's parametrized by the types of values to be plotted on the x and two y axes.

Constructors

LayoutLR |
Fields _layoutlr_background :: FillStyle How to fill the background of everything. _layoutlr_plot_background :: Maybe FillStyle How to fill the background of the plot, if different from the overall background. _layoutlr_title :: String Title to display above the chart. _layoutlr_title_style :: FontStyle Font style to use for the title. _layoutlr_x_axis :: LayoutAxis x Rules to generate the x axis. _layoutlr_top_axis_visibility :: AxisVisibility Visibility options for the top axis. _layoutlr_bottom_axis_visibility :: AxisVisibility Visibility options for the bottom axis. _layoutlr_left_axis :: LayoutAxis y1 Rules to generate the left y axis. _layoutlr_left_axis_visibility :: AxisVisibility Visibility options for the left axis. _layoutlr_right_axis :: LayoutAxis y2 Rules to generate the right y axis. _layoutlr_right_axis_visibility :: AxisVisibility Visibility options for the right axis. _layoutlr_plots :: [Either (Plot x y1) (Plot x y2)] The data sets to plot in the chart. They are plotted over each other. The either type associates the plot with the left or right y axis. _layoutlr_legend :: Maybe LegendStyle How to style the legend. _layoutlr_margin :: Double The margin distance to use. _layoutlr_grid_last :: Bool If the grid shall be rendered beneath (`False`) or over (`True`) all plots.

#### Instances

Instances details

(Ord x, Ord yl, Ord yr) => ToRenderable (LayoutLR x yl yr) # |
Instance details Defined in Graphics.Rendering.Chart.Layout Methods toRenderable :: LayoutLR x yl yr -> Renderable () #
(PlotValue x, PlotValue y1, PlotValue y2) => Default (LayoutLR x y1 y2) # | Empty `LayoutLR` without title and plots. The background is white and the grid is drawn beneath all plots. There will be a legend. The top axis will not be visible.
Instance details Defined in Graphics.Rendering.Chart.Layout Methods def :: LayoutLR x y1 y2 #

data LayoutAxis x #

Type of axis that is used in `Layout` and `LayoutLR`.

To generate the actual axis type (`AxisData` and `AxisT`) the `_laxis_generate` function is called and custom settings are applied with `_laxis_override`. Note that the `AxisVisibility` values in `Layout` and `LayoutLR` override visibility related settings of the axis.

Constructors

LayoutAxis |
Fields _laxis_title_style :: FontStyle Font style to use for the axis title. _laxis_title :: String Title displayed for the axis. _laxis_style :: AxisStyle Axis style applied. _laxis_generate :: AxisFn x Function that generates the axis data, based upon the points plotted. The default value is `autoAxis`. _laxis_override :: AxisData x -> AxisData x Function that can be used to override the generated axis data. The default value is `id`. _laxis_reverse :: Bool True if left to right (bottom to top) is to show descending values.

#### Instances

Instances details

PlotValue t => Default (LayoutAxis t) # |
Instance details Defined in Graphics.Rendering.Chart.Layout Methods def :: LayoutAxis t #

data LayoutPick x y1 y2 #

Information on what is at a specifc location of a `Layout` or `LayoutLR`. This is delivered by the `PickFn` of a `Renderable`.

Constructors

LayoutPick_Legend String | A legend entry.
LayoutPick_Title String | The title.
LayoutPick_XTopAxisTitle String | The title of the top x axis.
LayoutPick_XBottomAxisTitle String | The title of the bottom x axis.
LayoutPick_YLeftAxisTitle String | The title of the left y axis.
LayoutPick_YRightAxisTitle String | The title of the right y axis.
LayoutPick_PlotArea x y1 y2 | The plot area at the given plot coordinates.
LayoutPick_XTopAxis x | The top x axis at the given plot coordinate.
LayoutPick_XBottomAxis x | The bottom x axis at the given plot coordinate.
LayoutPick_YLeftAxis y1 | The left y axis at the given plot coordinate.
LayoutPick_YRightAxis y2 | The right y axis at the given plot coordinate.

#### Instances

Instances details

(Show x, Show y1, Show y2) => Show (LayoutPick x y1 y2) # |
Instance details Defined in Graphics.Rendering.Chart.Layout Methods showsPrec :: Int -> LayoutPick x y1 y2 -> ShowS # show :: LayoutPick x y1 y2 -> String # showList :: [LayoutPick x y1 y2] -> ShowS #

data StackedLayouts x #

A container for a set of vertically `StackedLayout`s. The x axis of the different layouts will be aligned.

Constructors

StackedLayouts |
Fields _slayouts_layouts :: [StackedLayout x] The stacked layouts from top (first element) to bottom (last element). _slayouts_compress_legend :: Bool If the different legends shall be combined in one legend at the bottom.

#### Instances

Instances details

Ord x => ToRenderable (StackedLayouts x) # |
Instance details Defined in Graphics.Rendering.Chart.Layout Methods toRenderable :: StackedLayouts x -> Renderable () #
Default (StackedLayouts x) # | A empty `StackedLayout` with compressions applied.
Instance details Defined in Graphics.Rendering.Chart.Layout Methods def :: StackedLayouts x #

data StackedLayout x #

A layout with its y type hidden, so that it can be stacked with other layouts with differing y axis, but the same x axis. See `StackedLayouts`.

Constructors

Ord y => StackedLayout (Layout x y) | A `Layout` to stack.
(Ord yl, Ord yr) => StackedLayoutLR (LayoutLR x yl yr) | A `LayoutLR` to stack.

type MAxisFn t = [t] -> Maybe (AxisData t) #

A `MAxisFn` is a function that generates an (optional) axis given the points plotted against that axis.

# Rendering

layoutToRenderable :: (Ord x, Ord y) => Layout x y -> Renderable (LayoutPick x y y) #

Render the given `Layout`.

layoutToGrid :: (Ord x, Ord y) => Layout x y -> Grid (Renderable (LayoutPick x y y)) #

layoutLRToRenderable :: (Ord x, Ord yl, Ord yr) => LayoutLR x yl yr -> Renderable (LayoutPick x yl yr) #

Render the given `LayoutLR`.

layoutLRToGrid :: (Ord x, Ord yl, Ord yr) => LayoutLR x yl yr -> Grid (Renderable (LayoutPick x yl yr)) #

renderStackedLayouts :: Ord x => StackedLayouts x -> Renderable () #

Render several layouts with the same x-axis type and range, vertically stacked so that their origins and x-values are aligned.

The legends from all the charts may be optionally combined, and shown once on the bottom chart. See `StackedLayouts` for further information.

# LayoutAxis lenses

laxis_title_style :: forall x f. Functor f => (FontStyle -> f FontStyle) -> LayoutAxis x -> f (LayoutAxis x) #

laxis_title :: forall x f. Functor f => (String -> f String) -> LayoutAxis x -> f (LayoutAxis x) #

laxis_style :: forall x f. Functor f => (AxisStyle -> f AxisStyle) -> LayoutAxis x -> f (LayoutAxis x) #

laxis_generate :: forall x f. Functor f => (AxisFn x -> f (AxisFn x)) -> LayoutAxis x -> f (LayoutAxis x) #

laxis_override :: forall x f. Functor f => ((AxisData x -> AxisData x) -> f (AxisData x -> AxisData x)) -> LayoutAxis x -> f (LayoutAxis x) #

laxis_reverse :: forall x f. Functor f => (Bool -> f Bool) -> LayoutAxis x -> f (LayoutAxis x) #

# Layout lenses

layout_background :: forall x y f. Functor f => (FillStyle -> f FillStyle) -> Layout x y -> f (Layout x y) #

layout_plot_background :: forall x y f. Functor f => (Maybe FillStyle -> f (Maybe FillStyle)) -> Layout x y -> f (Layout x y) #

layout_title :: forall x y f. Functor f => (String -> f String) -> Layout x y -> f (Layout x y) #

layout_title_style :: forall x y f. Functor f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y) #

layout_x_axis :: forall x y f. Functor f => (LayoutAxis x -> f (LayoutAxis x)) -> Layout x y -> f (Layout x y) #

layout_top_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y) #

layout_bottom_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y) #

layout_y_axis :: forall x y f. Functor f => (LayoutAxis y -> f (LayoutAxis y)) -> Layout x y -> f (Layout x y) #

layout_left_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y) #

layout_right_axis_visibility :: forall x y f. Functor f => (AxisVisibility -> f AxisVisibility) -> Layout x y -> f (Layout x y) #

layout_margin :: forall x y f. Functor f => (Double -> f Double) -> Layout x y -> f (Layout x y) #

layout_plots :: forall x y f. Functor f => ([Plot x y] -> f [Plot x y]) -> Layout x y -> f (Layout x y) #

layout_legend :: forall x y f. Functor f => (Maybe LegendStyle -> f (Maybe LegendStyle)) -> Layout x y -> f (Layout x y) #

layout_grid_last :: forall x y f. Functor f => (Bool -> f Bool) -> Layout x y -> f (Layout x y) #

layout_axes_styles :: forall x y f. Settable f => (AxisStyle -> f AxisStyle) -> Layout x y -> f (Layout x y) #

Setter to update all axis styles on a `Layout`

layout_axes_title_styles :: forall x y f. Settable f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y) #

Setter to update all the axes title styles on a `Layout`

layout_all_font_styles :: forall x y f. Settable f => (FontStyle -> f FontStyle) -> Layout x y -> f (Layout x y) #

Setter to update all the font styles on a `Layout`

layout_foreground :: forall x y f. Settable f => (AlphaColour Double -> f (AlphaColour Double)) -> Layout x y -> f (Layout x y) #

Setter to update the foreground color of core chart elements on a `Layout`

# LayoutLR lenses

layoutlr_background :: forall x y1 y2 f. Functor f => (FillStyle -> f FillStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_plot_background :: forall x y1 y2 f. Functor f => (Maybe FillStyle -> f (Maybe FillStyle)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_title :: forall x y1 y2 f. Functor f => (String -> f String) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_title_style :: forall x y1 y2 f. Functor f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_x_axis :: forall x y1 y2 f. Functor f => (LayoutAxis x -> f (LayoutAxis x)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_top_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_bottom_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_left_axis :: forall x y1 y2 f. Functor f => (LayoutAxis y1 -> f (LayoutAxis y1)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_right_axis :: forall x y1 y2 f. Functor f => (LayoutAxis y2 -> f (LayoutAxis y2)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_left_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_right_axis_visibility :: forall x y1 y2 f. Functor f => (AxisVisibility -> f AxisVisibility) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_plots :: forall x y1 y2 f. Functor f => ([Either (Plot x y1) (Plot x y2)] -> f [Either (Plot x y1) (Plot x y2)]) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_legend :: forall x y1 y2 f. Functor f => (Maybe LegendStyle -> f (Maybe LegendStyle)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_margin :: forall x y1 y2 f. Functor f => (Double -> f Double) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_grid_last :: forall x y1 y2 f. Functor f => (Bool -> f Bool) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

layoutlr_axes_styles :: forall x y1 y2 f. Settable f => (AxisStyle -> f AxisStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

Setter to update all axis styles on a `LayoutLR`

layoutlr_axes_title_styles :: forall x y1 y2 f. Settable f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

Setter to update all the axes title styles on a `LayoutLR`

layoutlr_all_font_styles :: forall x y1 y2 f. Settable f => (FontStyle -> f FontStyle) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

Setter to update all the font styles on a `LayoutLR`

layoutlr_foreground :: forall x y1 y2 f. Settable f => (AlphaColour Double -> f (AlphaColour Double)) -> LayoutLR x y1 y2 -> f (LayoutLR x y1 y2) #

Setter to update the foreground color of core chart elements on a `LayoutLR`

# StackedLayouts lenses

slayouts_layouts :: forall x1 x2 f. Functor f => ([StackedLayout x1] -> f [StackedLayout x2]) -> StackedLayouts x1 -> f (StackedLayouts x2) #

slayouts_compress_legend :: forall x f. Functor f => (Bool -> f Bool) -> StackedLayouts x -> f (StackedLayouts x) #