{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
module Plots.Axis
(
Axis
, axes
, axisPlots
, currentPlots
, finalPlots
, plotModifier
, axisSize
, colourBarRange
, r2Axis
, polarAxis
, BaseSpace
, addPlot
, addPlotable
, addPlotable'
, SingleAxis
, xAxis
, xLabel
, xMin
, xMax
, yAxis
, yLabel
, yMin
, yMax
, rAxis
, rLabel
, rMax
, thetaAxis
, thetaLabel
, zAxis
, zLabel
, zMin
, zMax
) where
import Control.Monad.State
import Data.Complex
import Data.Default
import Data.Kind
import Data.Typeable
import Diagrams.Coordinates.Polar
import Diagrams.Prelude
import Diagrams.TwoD.Text
import Plots.Axis.ColourBar
import Plots.Axis.Grid
import Plots.Axis.Labels
import Plots.Axis.Line
import Plots.Axis.Scale
import Plots.Axis.Title
import Plots.Axis.Ticks
import Plots.Legend
import Plots.Style
import Plots.Types
import Linear
data SingleAxis b v n = SingleAxis
{ forall b (v :: * -> *) n. SingleAxis b v n -> AxisLabel b v n
saLabel :: AxisLabel b v n
, forall b (v :: * -> *) n. SingleAxis b v n -> AxisLine v n
saLine :: AxisLine v n
, forall b (v :: * -> *) n. SingleAxis b v n -> TickLabels b v n
saTickLabel :: TickLabels b v n
, forall b (v :: * -> *) n. SingleAxis b v n -> AxisScaling n
saScaling :: AxisScaling n
, forall b (v :: * -> *) n. SingleAxis b v n -> GridLines v n
saGridLines :: GridLines v n
, forall b (v :: * -> *) n. SingleAxis b v n -> Ticks v n
saTicks :: Ticks v n
, forall b (v :: * -> *) n. SingleAxis b v n -> Bool
saVisible :: Bool
}
type instance V (SingleAxis b v n) = v
type instance N (SingleAxis b v n) = n
instance (TypeableFloat n, Renderable (Text n) b)
=> Default (SingleAxis b V2 n) where
def :: SingleAxis b V2 n
def = SingleAxis
{ saLabel :: AxisLabel b V2 n
saLabel = AxisLabel b V2 n
forall a. Default a => a
def
, saLine :: AxisLine V2 n
saLine = AxisLine V2 n
forall a. Default a => a
def
, saTickLabel :: TickLabels b V2 n
saTickLabel = TickLabels b V2 n
forall a. Default a => a
def
, saGridLines :: GridLines V2 n
saGridLines = GridLines V2 n
forall a. Default a => a
def
, saTicks :: Ticks V2 n
saTicks = Ticks V2 n
forall a. Default a => a
def
, saScaling :: AxisScaling n
saScaling = AxisScaling n
forall a. Default a => a
def
, saVisible :: Bool
saVisible = Bool
True
}
instance Functor f => HasTicks f (SingleAxis b v n) where
bothTicks :: LensLike'
f
(SingleAxis b v n)
(Ticks (V (SingleAxis b v n)) (N (SingleAxis b v n)))
bothTicks = (SingleAxis b v n -> Ticks v n)
-> (SingleAxis b v n -> Ticks v n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n) (SingleAxis b v n) (Ticks v n) (Ticks v n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> Ticks v n
forall b (v :: * -> *) n. SingleAxis b v n -> Ticks v n
saTicks (\SingleAxis b v n
sa Ticks v n
ticks -> SingleAxis b v n
sa {saTicks = ticks})
instance Functor f => HasMajorTicks f (SingleAxis b v n) where
majorTicks :: LensLike'
f
(SingleAxis b v n)
(MajorTicks (V (SingleAxis b v n)) (N (SingleAxis b v n)))
majorTicks = (Ticks v n -> f (Ticks v n))
-> SingleAxis b v n -> f (SingleAxis b v n)
LensLike'
f
(SingleAxis b v n)
(Ticks (V (SingleAxis b v n)) (N (SingleAxis b v n)))
forall (f :: * -> *) a.
HasTicks f a =>
LensLike' f a (Ticks (V a) (N a))
bothTicks ((Ticks v n -> f (Ticks v n))
-> SingleAxis b v n -> f (SingleAxis b v n))
-> ((MajorTicks v n -> f (MajorTicks v n))
-> Ticks v n -> f (Ticks v n))
-> (MajorTicks v n -> f (MajorTicks v n))
-> SingleAxis b v n
-> f (SingleAxis b v n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (MajorTicks v n -> f (MajorTicks v n))
-> Ticks v n -> f (Ticks v n)
LensLike'
f (Ticks v n) (MajorTicks (V (Ticks v n)) (N (Ticks v n)))
forall (f :: * -> *) a.
HasMajorTicks f a =>
LensLike' f a (MajorTicks (V a) (N a))
majorTicks
instance Functor f => HasMinorTicks f (SingleAxis b v n) where
minorTicks :: LensLike'
f
(SingleAxis b v n)
(MinorTicks (V (SingleAxis b v n)) (N (SingleAxis b v n)))
minorTicks = (Ticks v n -> f (Ticks v n))
-> SingleAxis b v n -> f (SingleAxis b v n)
LensLike'
f
(SingleAxis b v n)
(Ticks (V (SingleAxis b v n)) (N (SingleAxis b v n)))
forall (f :: * -> *) a.
HasTicks f a =>
LensLike' f a (Ticks (V a) (N a))
bothTicks ((Ticks v n -> f (Ticks v n))
-> SingleAxis b v n -> f (SingleAxis b v n))
-> ((MinorTicks v n -> f (MinorTicks v n))
-> Ticks v n -> f (Ticks v n))
-> (MinorTicks v n -> f (MinorTicks v n))
-> SingleAxis b v n
-> f (SingleAxis b v n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (MinorTicks v n -> f (MinorTicks v n))
-> Ticks v n -> f (Ticks v n)
LensLike'
f (Ticks v n) (MinorTicks (V (Ticks v n)) (N (Ticks v n)))
forall (f :: * -> *) a.
HasMinorTicks f a =>
LensLike' f a (MinorTicks (V a) (N a))
minorTicks
instance Functor f => HasAxisLabel f (SingleAxis b v n) b where
axisLabel :: LensLike'
f
(SingleAxis b v n)
(AxisLabel b (V (SingleAxis b v n)) (N (SingleAxis b v n)))
axisLabel = (SingleAxis b v n -> AxisLabel b v n)
-> (SingleAxis b v n -> AxisLabel b v n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n)
(SingleAxis b v n)
(AxisLabel b v n)
(AxisLabel b v n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> AxisLabel b v n
forall b (v :: * -> *) n. SingleAxis b v n -> AxisLabel b v n
saLabel (\SingleAxis b v n
sa AxisLabel b v n
l -> SingleAxis b v n
sa {saLabel = l})
instance Functor f => HasTickLabels f (SingleAxis b v n) b where
tickLabel :: LensLike'
f
(SingleAxis b v n)
(TickLabels b (V (SingleAxis b v n)) (N (SingleAxis b v n)))
tickLabel = (SingleAxis b v n -> TickLabels b v n)
-> (SingleAxis b v n -> TickLabels b v n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n)
(SingleAxis b v n)
(TickLabels b v n)
(TickLabels b v n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> TickLabels b v n
forall b (v :: * -> *) n. SingleAxis b v n -> TickLabels b v n
saTickLabel (\SingleAxis b v n
sa TickLabels b v n
tl -> SingleAxis b v n
sa {saTickLabel = tl})
instance Functor f => HasAxisLine f (SingleAxis b v n) where
axisLine :: LensLike'
f
(SingleAxis b v n)
(AxisLine (V (SingleAxis b v n)) (N (SingleAxis b v n)))
axisLine = (SingleAxis b v n -> AxisLine v n)
-> (SingleAxis b v n -> AxisLine v n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n) (SingleAxis b v n) (AxisLine v n) (AxisLine v n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> AxisLine v n
forall b (v :: * -> *) n. SingleAxis b v n -> AxisLine v n
saLine (\SingleAxis b v n
sa AxisLine v n
l -> SingleAxis b v n
sa {saLine = l})
instance Functor f => HasGridLines f (SingleAxis b v n) where
gridLines :: LensLike'
f
(SingleAxis b v n)
(GridLines (V (SingleAxis b v n)) (N (SingleAxis b v n)))
gridLines = (SingleAxis b v n -> GridLines v n)
-> (SingleAxis b v n -> GridLines v n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n)
(SingleAxis b v n)
(GridLines v n)
(GridLines v n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> GridLines v n
forall b (v :: * -> *) n. SingleAxis b v n -> GridLines v n
saGridLines (\SingleAxis b v n
sa GridLines v n
l -> SingleAxis b v n
sa {saGridLines = l})
instance Functor f => HasMajorGridLines f (SingleAxis b v n) where
majorGridLines :: LensLike'
f
(SingleAxis b v n)
(MajorGridLines (V (SingleAxis b v n)) (N (SingleAxis b v n)))
majorGridLines = (GridLines v n -> f (GridLines v n))
-> SingleAxis b v n -> f (SingleAxis b v n)
LensLike'
f
(SingleAxis b v n)
(GridLines (V (SingleAxis b v n)) (N (SingleAxis b v n)))
forall (f :: * -> *) a.
HasGridLines f a =>
LensLike' f a (GridLines (V a) (N a))
gridLines ((GridLines v n -> f (GridLines v n))
-> SingleAxis b v n -> f (SingleAxis b v n))
-> ((MajorGridLines v n -> f (MajorGridLines v n))
-> GridLines v n -> f (GridLines v n))
-> (MajorGridLines v n -> f (MajorGridLines v n))
-> SingleAxis b v n
-> f (SingleAxis b v n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (MajorGridLines v n -> f (MajorGridLines v n))
-> GridLines v n -> f (GridLines v n)
LensLike'
f
(GridLines v n)
(MajorGridLines (V (GridLines v n)) (N (GridLines v n)))
forall (f :: * -> *) a.
HasMajorGridLines f a =>
LensLike' f a (MajorGridLines (V a) (N a))
majorGridLines
instance Functor f => HasMinorGridLines f (SingleAxis b v n) where
minorGridLines :: LensLike'
f
(SingleAxis b v n)
(MinorGridLines (V (SingleAxis b v n)) (N (SingleAxis b v n)))
minorGridLines = (GridLines v n -> f (GridLines v n))
-> SingleAxis b v n -> f (SingleAxis b v n)
LensLike'
f
(SingleAxis b v n)
(GridLines (V (SingleAxis b v n)) (N (SingleAxis b v n)))
forall (f :: * -> *) a.
HasGridLines f a =>
LensLike' f a (GridLines (V a) (N a))
gridLines ((GridLines v n -> f (GridLines v n))
-> SingleAxis b v n -> f (SingleAxis b v n))
-> ((MinorGridLines v n -> f (MinorGridLines v n))
-> GridLines v n -> f (GridLines v n))
-> (MinorGridLines v n -> f (MinorGridLines v n))
-> SingleAxis b v n
-> f (SingleAxis b v n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (MinorGridLines v n -> f (MinorGridLines v n))
-> GridLines v n -> f (GridLines v n)
LensLike'
f
(GridLines v n)
(MinorGridLines (V (GridLines v n)) (N (GridLines v n)))
forall (f :: * -> *) a.
HasMinorGridLines f a =>
LensLike' f a (MinorGridLines (V a) (N a))
minorGridLines
instance Functor f => HasAxisScaling f (SingleAxis b v n) where
axisScaling :: LensLike' f (SingleAxis b v n) (AxisScaling (N (SingleAxis b v n)))
axisScaling = (SingleAxis b v n -> AxisScaling n)
-> (SingleAxis b v n -> AxisScaling n -> SingleAxis b v n)
-> Lens
(SingleAxis b v n)
(SingleAxis b v n)
(AxisScaling n)
(AxisScaling n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> AxisScaling n
forall b (v :: * -> *) n. SingleAxis b v n -> AxisScaling n
saScaling (\SingleAxis b v n
sa AxisScaling n
s -> SingleAxis b v n
sa {saScaling = s})
instance HasVisibility (SingleAxis b v n) where
visible :: Lens' (SingleAxis b v n) Bool
visible = (SingleAxis b v n -> Bool)
-> (SingleAxis b v n -> Bool -> SingleAxis b v n)
-> Lens' (SingleAxis b v n) Bool
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens SingleAxis b v n -> Bool
forall b (v :: * -> *) n. SingleAxis b v n -> Bool
saVisible (\SingleAxis b v n
sa Bool
b -> SingleAxis b v n
sa {saVisible = b})
type family BaseSpace (c :: Type -> Type) :: Type -> Type
type instance BaseSpace V2 = V2
type instance BaseSpace Complex = V2
type instance BaseSpace Polar = V2
type instance BaseSpace V3 = V3
data Axis b c n = Axis
{ forall b (c :: * -> *) n. Axis b c n -> AxisStyle b (BaseSpace c) n
_axisStyle :: AxisStyle b (BaseSpace c) n
, forall b (c :: * -> *) n. Axis b c n -> ColourBar b n
_colourBar :: ColourBar b n
, forall b (c :: * -> *) n. Axis b c n -> (n, n)
_colourBarR :: (n,n)
, forall b (c :: * -> *) n. Axis b c n -> Legend b n
_legend :: Legend b n
, forall b (c :: * -> *) n. Axis b c n -> Title b (BaseSpace c) n
_axisTitle :: Title b (BaseSpace c) n
, forall b (c :: * -> *) n.
Axis b c n -> [DynamicPlot b (BaseSpace c) n]
_axisPlots :: [DynamicPlot b (BaseSpace c) n]
, forall b (c :: * -> *) n.
Axis b c n -> Endo (StyledPlot b (BaseSpace c) n)
_plotModifier :: Endo (StyledPlot b (BaseSpace c) n)
, forall b (c :: * -> *) n.
Axis b c n -> c (SingleAxis b (BaseSpace c) n)
_axes :: c (SingleAxis b (BaseSpace c) n)
} deriving Typeable
axes :: (v ~ BaseSpace c, v ~ BaseSpace c')
=> Lens (Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes :: forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes = (Axis b c n -> c (SingleAxis b v n))
-> (Axis b c n -> c' (SingleAxis b v n) -> Axis b c' n)
-> Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b c n -> c (SingleAxis b v n)
Axis b c n -> c (SingleAxis b (BaseSpace c) n)
forall b (c :: * -> *) n.
Axis b c n -> c (SingleAxis b (BaseSpace c) n)
_axes (\(Axis AxisStyle b (BaseSpace c) n
a1 ColourBar b n
a2 (n, n)
a3 Legend b n
a4 Title b (BaseSpace c) n
a5 [DynamicPlot b (BaseSpace c) n]
a6 Endo (StyledPlot b (BaseSpace c) n)
a7 c (SingleAxis b (BaseSpace c) n)
_) c' (SingleAxis b v n)
a8 -> AxisStyle b (BaseSpace c') n
-> ColourBar b n
-> (n, n)
-> Legend b n
-> Title b (BaseSpace c') n
-> [DynamicPlot b (BaseSpace c') n]
-> Endo (StyledPlot b (BaseSpace c') n)
-> c' (SingleAxis b (BaseSpace c') n)
-> Axis b c' n
forall b (c :: * -> *) n.
AxisStyle b (BaseSpace c) n
-> ColourBar b n
-> (n, n)
-> Legend b n
-> Title b (BaseSpace c) n
-> [DynamicPlot b (BaseSpace c) n]
-> Endo (StyledPlot b (BaseSpace c) n)
-> c (SingleAxis b (BaseSpace c) n)
-> Axis b c n
Axis AxisStyle b (BaseSpace c) n
AxisStyle b (BaseSpace c') n
a1 ColourBar b n
a2 (n, n)
a3 Legend b n
a4 Title b (BaseSpace c) n
Title b (BaseSpace c') n
a5 [DynamicPlot b (BaseSpace c) n]
[DynamicPlot b (BaseSpace c') n]
a6 Endo (StyledPlot b (BaseSpace c) n)
Endo (StyledPlot b (BaseSpace c') n)
a7 c' (SingleAxis b v n)
c' (SingleAxis b (BaseSpace c') n)
a8)
axisPlots :: BaseSpace c ~ v => Lens' (Axis b c n) [DynamicPlot b v n]
axisPlots :: forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Lens' (Axis b c n) [DynamicPlot b v n]
axisPlots = (Axis b c n -> [DynamicPlot b v n])
-> (Axis b c n -> [DynamicPlot b v n] -> Axis b c n)
-> Lens
(Axis b c n) (Axis b c n) [DynamicPlot b v n] [DynamicPlot b v n]
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b c n -> [DynamicPlot b v n]
Axis b c n -> [DynamicPlot b (BaseSpace c) n]
forall b (c :: * -> *) n.
Axis b c n -> [DynamicPlot b (BaseSpace c) n]
_axisPlots (\Axis b c n
a [DynamicPlot b v n]
ps -> Axis b c n
a {_axisPlots = ps})
currentPlots :: BaseSpace c ~ v => Traversal' (Axis b c n) (DynamicPlot b v n)
currentPlots :: forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Traversal' (Axis b c n) (DynamicPlot b v n)
currentPlots = ([DynamicPlot b v n] -> f [DynamicPlot b v n])
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) [DynamicPlot b v n]
forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Lens' (Axis b c n) [DynamicPlot b v n]
axisPlots (([DynamicPlot b v n] -> f [DynamicPlot b v n])
-> Axis b c n -> f (Axis b c n))
-> ((DynamicPlot b v n -> f (DynamicPlot b v n))
-> [DynamicPlot b v n] -> f [DynamicPlot b v n])
-> (DynamicPlot b v n -> f (DynamicPlot b v n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (DynamicPlot b v n -> f (DynamicPlot b v n))
-> [DynamicPlot b v n] -> f [DynamicPlot b v n]
forall (f :: * -> *) a b.
Traversable f =>
IndexedTraversal Int (f a) (f b) a b
IndexedTraversal
Int
[DynamicPlot b v n]
[DynamicPlot b v n]
(DynamicPlot b v n)
(DynamicPlot b v n)
traversed
finalPlots :: BaseSpace c ~ v => Setter' (Axis b c n) (StyledPlot b v n)
finalPlots :: forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Setter' (Axis b c n) (StyledPlot b v n)
finalPlots = ((StyledPlot b v n -> StyledPlot b v n)
-> Axis b c n -> Axis b c n)
-> Optical
(->)
(->)
f
(Axis b c n)
(Axis b c n)
(StyledPlot b v n)
(StyledPlot b v n)
forall (p :: * -> * -> *) (q :: * -> * -> *) (f :: * -> *) a b s t.
(Profunctor p, Profunctor q, Settable f) =>
(p a b -> q s t) -> Optical p q f s t a b
sets (((StyledPlot b v n -> StyledPlot b v n)
-> Axis b c n -> Axis b c n)
-> Optical
(->)
(->)
f
(Axis b c n)
(Axis b c n)
(StyledPlot b v n)
(StyledPlot b v n))
-> ((StyledPlot b v n -> StyledPlot b v n)
-> Axis b c n -> Axis b c n)
-> Optical
(->)
(->)
f
(Axis b c n)
(Axis b c n)
(StyledPlot b v n)
(StyledPlot b v n)
forall a b. (a -> b) -> a -> b
$ \StyledPlot b v n -> StyledPlot b v n
f Axis b c n
a -> Axis b c n
a {_plotModifier = _plotModifier a <> Endo f}
plotModifier :: BaseSpace c ~ v => Lens' (Axis b c n) (Endo (StyledPlot b v n))
plotModifier :: forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Lens' (Axis b c n) (Endo (StyledPlot b v n))
plotModifier = (Axis b c n -> Endo (StyledPlot b v n))
-> (Axis b c n -> Endo (StyledPlot b v n) -> Axis b c n)
-> Lens
(Axis b c n)
(Axis b c n)
(Endo (StyledPlot b v n))
(Endo (StyledPlot b v n))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b c n -> Endo (StyledPlot b v n)
Axis b c n -> Endo (StyledPlot b (BaseSpace c) n)
forall b (c :: * -> *) n.
Axis b c n -> Endo (StyledPlot b (BaseSpace c) n)
_plotModifier (\Axis b c n
a Endo (StyledPlot b v n)
f -> Axis b c n
a {_plotModifier = f})
type instance V (Axis b v n) = BaseSpace v
type instance N (Axis b v n) = n
instance (Applicative f, Traversable c) => HasTicks f (Axis b c n) where
bothTicks :: LensLike' f (Axis b c n) (Ticks (V (Axis b c n)) (N (Axis b c n)))
bothTicks = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((Ticks (BaseSpace c) n -> f (Ticks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (Ticks (BaseSpace c) n -> f (Ticks (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((Ticks (BaseSpace c) n -> f (Ticks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Ticks (BaseSpace c) n -> f (Ticks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Ticks
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(Ticks (BaseSpace c) n -> f (Ticks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasTicks f a =>
LensLike' f a (Ticks (V a) (N a))
bothTicks
instance (Applicative f, Traversable c) => HasMajorTicks f (Axis b c n) where
majorTicks :: LensLike'
f (Axis b c n) (MajorTicks (V (Axis b c n)) (N (Axis b c n)))
majorTicks = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((MajorTicks (BaseSpace c) n -> f (MajorTicks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (MajorTicks (BaseSpace c) n -> f (MajorTicks (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((MajorTicks (BaseSpace c) n -> f (MajorTicks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (MajorTicks (BaseSpace c) n -> f (MajorTicks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(MajorTicks
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(MajorTicks (BaseSpace c) n -> f (MajorTicks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasMajorTicks f a =>
LensLike' f a (MajorTicks (V a) (N a))
majorTicks
instance (Applicative f, Traversable c) => HasMinorTicks f (Axis b c n) where
minorTicks :: LensLike'
f (Axis b c n) (MinorTicks (V (Axis b c n)) (N (Axis b c n)))
minorTicks = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((MinorTicks (BaseSpace c) n -> f (MinorTicks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (MinorTicks (BaseSpace c) n -> f (MinorTicks (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((MinorTicks (BaseSpace c) n -> f (MinorTicks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (MinorTicks (BaseSpace c) n -> f (MinorTicks (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(MinorTicks
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(MinorTicks (BaseSpace c) n -> f (MinorTicks (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasMinorTicks f a =>
LensLike' f a (MinorTicks (V a) (N a))
minorTicks
instance (Applicative f, Traversable c) => HasGridLines f (Axis b c n) where
gridLines :: LensLike'
f (Axis b c n) (GridLines (V (Axis b c n)) (N (Axis b c n)))
gridLines = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((GridLines (BaseSpace c) n -> f (GridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (GridLines (BaseSpace c) n -> f (GridLines (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((GridLines (BaseSpace c) n -> f (GridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (GridLines (BaseSpace c) n -> f (GridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(GridLines
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(GridLines (BaseSpace c) n -> f (GridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasGridLines f a =>
LensLike' f a (GridLines (V a) (N a))
gridLines
instance (Applicative f, Traversable c) => HasMajorGridLines f (Axis b c n) where
majorGridLines :: LensLike'
f (Axis b c n) (MajorGridLines (V (Axis b c n)) (N (Axis b c n)))
majorGridLines = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((MajorGridLines (BaseSpace c) n
-> f (MajorGridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (MajorGridLines (BaseSpace c) n
-> f (MajorGridLines (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((MajorGridLines (BaseSpace c) n
-> f (MajorGridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (MajorGridLines (BaseSpace c) n
-> f (MajorGridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(MajorGridLines
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(MajorGridLines (BaseSpace c) n
-> f (MajorGridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasMajorGridLines f a =>
LensLike' f a (MajorGridLines (V a) (N a))
majorGridLines
instance (Applicative f, Traversable c) => HasMinorGridLines f (Axis b c n) where
minorGridLines :: LensLike'
f (Axis b c n) (MinorGridLines (V (Axis b c n)) (N (Axis b c n)))
minorGridLines = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((MinorGridLines (BaseSpace c) n
-> f (MinorGridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (MinorGridLines (BaseSpace c) n
-> f (MinorGridLines (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((MinorGridLines (BaseSpace c) n
-> f (MinorGridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (MinorGridLines (BaseSpace c) n
-> f (MinorGridLines (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(MinorGridLines
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(MinorGridLines (BaseSpace c) n
-> f (MinorGridLines (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a.
HasMinorGridLines f a =>
LensLike' f a (MinorGridLines (V a) (N a))
minorGridLines
instance (Applicative f, Traversable c) => HasAxisLabel f (Axis b c n) b where
axisLabel :: LensLike'
f (Axis b c n) (AxisLabel b (V (Axis b c n)) (N (Axis b c n)))
axisLabel = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((AxisLabel b (BaseSpace c) n
-> f (AxisLabel b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (AxisLabel b (BaseSpace c) n -> f (AxisLabel b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((AxisLabel b (BaseSpace c) n
-> f (AxisLabel b (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (AxisLabel b (BaseSpace c) n -> f (AxisLabel b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(AxisLabel
b
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(AxisLabel b (BaseSpace c) n -> f (AxisLabel b (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
HasAxisLabel f a b =>
LensLike' f a (AxisLabel b (V a) (N a))
axisLabel
instance (Applicative f, Traversable c) => HasTickLabels f (Axis b c n) b where
tickLabel :: LensLike'
f (Axis b c n) (TickLabels b (V (Axis b c n)) (N (Axis b c n)))
tickLabel = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((TickLabels b (BaseSpace c) n
-> f (TickLabels b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (TickLabels b (BaseSpace c) n
-> f (TickLabels b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((TickLabels b (BaseSpace c) n
-> f (TickLabels b (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (TickLabels b (BaseSpace c) n
-> f (TickLabels b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(SingleAxis b (BaseSpace c) n)
(TickLabels
b
(V (SingleAxis b (BaseSpace c) n))
(N (SingleAxis b (BaseSpace c) n)))
(TickLabels b (BaseSpace c) n -> f (TickLabels b (BaseSpace c) n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
HasTickLabels f a b =>
LensLike' f a (TickLabels b (V a) (N a))
tickLabel
instance (Applicative f, Traversable c) => HasAxisScaling f (Axis b c n) where
axisScaling :: LensLike' f (Axis b c n) (AxisScaling (N (Axis b c n)))
axisScaling = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((AxisScaling n -> f (AxisScaling n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (AxisScaling n -> f (AxisScaling n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> c a -> f (c b)
traverse ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((AxisScaling n -> f (AxisScaling n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (AxisScaling n -> f (AxisScaling n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (AxisScaling n -> f (AxisScaling n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(AxisScaling (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
HasAxisScaling f a =>
LensLike' f a (AxisScaling (N a))
axisScaling
instance Settable f => HasPlotOptions f (Axis b c n) b where
plotOptions :: LensLike'
f (Axis b c n) (PlotOptions b (V (Axis b c n)) (N (Axis b c n)))
plotOptions = (StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Setter' (Axis b c n) (StyledPlot b (BaseSpace c) n)
forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Setter' (Axis b c n) (StyledPlot b v n)
finalPlots ((StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((PlotOptions b (BaseSpace c) n
-> f (PlotOptions b (BaseSpace c) n))
-> StyledPlot b (BaseSpace c) n
-> f (StyledPlot b (BaseSpace c) n))
-> (PlotOptions b (BaseSpace c) n
-> f (PlotOptions b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(StyledPlot b (BaseSpace c) n)
(PlotOptions
b
(V (StyledPlot b (BaseSpace c) n))
(N (StyledPlot b (BaseSpace c) n)))
(PlotOptions b (BaseSpace c) n
-> f (PlotOptions b (BaseSpace c) n))
-> StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n)
forall (f :: * -> *) a b.
HasPlotOptions f a b =>
LensLike' f a (PlotOptions b (V a) (N a))
plotOptions
instance Settable f => HasPlotStyle f (Axis b c n) b where
plotStyle :: LensLike'
f (Axis b c n) (PlotStyle b (V (Axis b c n)) (N (Axis b c n)))
plotStyle = (StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Setter' (Axis b c n) (StyledPlot b (BaseSpace c) n)
forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Setter' (Axis b c n) (StyledPlot b v n)
finalPlots ((StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((PlotStyle b (BaseSpace c) n
-> f (PlotStyle b (BaseSpace c) n))
-> StyledPlot b (BaseSpace c) n
-> f (StyledPlot b (BaseSpace c) n))
-> (PlotStyle b (BaseSpace c) n -> f (PlotStyle b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike'
f
(StyledPlot b (BaseSpace c) n)
(PlotStyle
b
(V (StyledPlot b (BaseSpace c) n))
(N (StyledPlot b (BaseSpace c) n)))
(PlotStyle b (BaseSpace c) n -> f (PlotStyle b (BaseSpace c) n))
-> StyledPlot b (BaseSpace c) n -> f (StyledPlot b (BaseSpace c) n)
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle
instance HasLegend (Axis b c n) b where
legend :: Lens' (Axis b c n) (Legend b (N (Axis b c n)))
legend = (Axis b c n -> Legend b n)
-> (Axis b c n -> Legend b n -> Axis b c n)
-> Lens (Axis b c n) (Axis b c n) (Legend b n) (Legend b n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b c n -> Legend b n
forall b (c :: * -> *) n. Axis b c n -> Legend b n
_legend (\Axis b c n
a Legend b n
l -> Axis b c n
a {_legend = l})
instance HasTitle (Axis b c n) b where
title :: Lens' (Axis b c n) (Title b (V (Axis b c n)) (N (Axis b c n)))
title = (Axis b c n -> Title b (BaseSpace c) n)
-> (Axis b c n -> Title b (BaseSpace c) n -> Axis b c n)
-> Lens
(Axis b c n)
(Axis b c n)
(Title b (BaseSpace c) n)
(Title b (BaseSpace c) n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b c n -> Title b (BaseSpace c) n
forall b (c :: * -> *) n. Axis b c n -> Title b (BaseSpace c) n
_axisTitle (\Axis b c n
a Title b (BaseSpace c) n
t -> Axis b c n
a {_axisTitle = t})
axisSize :: (HasLinearMap c, Num n, Ord n) => Lens' (Axis b c n) (SizeSpec c n)
axisSize :: forall (c :: * -> *) n b.
(HasLinearMap c, Num n, Ord n) =>
Lens' (Axis b c n) (SizeSpec c n)
axisSize = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SizeSpec c n -> f (SizeSpec c n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SizeSpec c n -> f (SizeSpec c n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LensLike
(Context (Maybe n) (Maybe n))
(SingleAxis b (BaseSpace c) n)
(SingleAxis b (BaseSpace c) n)
(Maybe n)
(Maybe n)
-> Lens
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
(c (Maybe n))
(c (Maybe n))
forall (f :: * -> *) a b s t.
Representable f =>
LensLike (Context a b) s t a b -> Lens (f s) (f t) (f a) (f b)
column LensLike
(Context (Maybe n) (Maybe n))
(SingleAxis b (BaseSpace c) n)
(SingleAxis b (BaseSpace c) n)
(Maybe n)
(Maybe n)
LensLike'
(Context (Maybe n) (Maybe n))
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
renderSize ((c (Maybe n) -> f (c (Maybe n)))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> ((SizeSpec c n -> f (SizeSpec c n))
-> c (Maybe n) -> f (c (Maybe n)))
-> (SizeSpec c n -> f (SizeSpec c n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (c (Maybe n) -> SizeSpec c n)
-> (SizeSpec c n -> c (Maybe n))
-> Iso (c (Maybe n)) (c (Maybe n)) (SizeSpec c n) (SizeSpec c n)
forall s a b t. (s -> a) -> (b -> t) -> Iso s t a b
iso c (Maybe n) -> SizeSpec c n
forall (v :: * -> *) n.
(Functor v, Num n) =>
v (Maybe n) -> SizeSpec v n
mkSizeSpec SizeSpec c n -> c (Maybe n)
forall (v :: * -> *) n.
(Functor v, Num n, Ord n) =>
SizeSpec v n -> v (Maybe n)
getSpec
colourBarRange :: Lens' (Axis b v n) (n,n)
colourBarRange :: forall b (v :: * -> *) n (f :: * -> *).
Functor f =>
((n, n) -> f (n, n)) -> Axis b v n -> f (Axis b v n)
colourBarRange = (Axis b v n -> (n, n))
-> (Axis b v n -> (n, n) -> Axis b v n)
-> Lens (Axis b v n) (Axis b v n) (n, n) (n, n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b v n -> (n, n)
forall b (c :: * -> *) n. Axis b c n -> (n, n)
_colourBarR (\Axis b v n
a (n, n)
r -> Axis b v n
a {_colourBarR = r})
instance HasAxisStyle (Axis b v n) b where
axisStyle :: Lens' (Axis b v n) (AxisStyle b (V (Axis b v n)) (N (Axis b v n)))
axisStyle = (Axis b v n -> AxisStyle b (BaseSpace v) n)
-> (Axis b v n -> AxisStyle b (BaseSpace v) n -> Axis b v n)
-> Lens
(Axis b v n)
(Axis b v n)
(AxisStyle b (BaseSpace v) n)
(AxisStyle b (BaseSpace v) n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b v n -> AxisStyle b (BaseSpace v) n
forall b (c :: * -> *) n. Axis b c n -> AxisStyle b (BaseSpace c) n
_axisStyle (\Axis b v n
a AxisStyle b (BaseSpace v) n
sty -> Axis b v n
a {_axisStyle = sty})
instance HasColourBar (Axis b v n) b where
colourBar :: Lens' (Axis b v n) (ColourBar b (N (Axis b v n)))
colourBar = (Axis b v n -> ColourBar b n)
-> (Axis b v n -> ColourBar b n -> Axis b v n)
-> Lens (Axis b v n) (Axis b v n) (ColourBar b n) (ColourBar b n)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Axis b v n -> ColourBar b n
forall b (c :: * -> *) n. Axis b c n -> ColourBar b n
_colourBar (\Axis b v n
a ColourBar b n
cb -> Axis b v n
a {_colourBar = cb})
addPlot
:: (InSpace (BaseSpace c) n p, MonadState (Axis b c n) m, Plotable p b)
=> Plot p b
-> m ()
addPlot :: forall (c :: * -> *) n p b (m :: * -> *).
(InSpace (BaseSpace c) n p, MonadState (Axis b c n) m,
Plotable p b) =>
Plot p b -> m ()
addPlot Plot p b
p = ([DynamicPlot b (BaseSpace c) n]
-> Identity [DynamicPlot b (BaseSpace c) n])
-> Axis b c n -> Identity (Axis b c n)
Lens' (Axis b c n) [DynamicPlot b (BaseSpace c) n]
forall (c :: * -> *) (v :: * -> *) b n.
(BaseSpace c ~ v) =>
Lens' (Axis b c n) [DynamicPlot b v n]
axisPlots (([DynamicPlot b (BaseSpace c) n]
-> Identity [DynamicPlot b (BaseSpace c) n])
-> Axis b c n -> Identity (Axis b c n))
-> [DynamicPlot b (BaseSpace c) n] -> m ()
forall s (m :: * -> *) a.
(MonadState s m, Semigroup a) =>
ASetter' s a -> a -> m ()
<>= [Plot p b -> DynamicPlot b (BaseSpace c) n
forall (v :: * -> *) n p b.
(InSpace v n p, Plotable p b) =>
Plot p b -> DynamicPlot b v n
DynamicPlot Plot p b
p]
addPlotable
:: (InSpace (BaseSpace c) n p, MonadState (Axis b c n) m, Plotable p b)
=> p
-> State (Plot p b) ()
-> m ()
addPlotable :: forall (c :: * -> *) n p b (m :: * -> *).
(InSpace (BaseSpace c) n p, MonadState (Axis b c n) m,
Plotable p b) =>
p -> State (Plot p b) () -> m ()
addPlotable p
p State (Plot p b) ()
s = Plot p b -> m ()
forall (c :: * -> *) n p b (m :: * -> *).
(InSpace (BaseSpace c) n p, MonadState (Axis b c n) m,
Plotable p b) =>
Plot p b -> m ()
addPlot (Plot p b -> m ()) -> Plot p b -> m ()
forall a b. (a -> b) -> a -> b
$ State (Plot p b) () -> Plot p b -> Plot p b
forall s a. State s a -> s -> s
execState State (Plot p b) ()
s (p -> Plot p b
forall p b. (Additive (V p), Num (N p)) => p -> Plot p b
mkPlot p
p)
addPlotable'
:: (InSpace (BaseSpace v) n p, MonadState (Axis b v n) m, Plotable p b)
=> p
-> m ()
addPlotable' :: forall (v :: * -> *) n p b (m :: * -> *).
(InSpace (BaseSpace v) n p, MonadState (Axis b v n) m,
Plotable p b) =>
p -> m ()
addPlotable' p
p = p -> State (Plot p b) () -> m ()
forall (c :: * -> *) n p b (m :: * -> *).
(InSpace (BaseSpace c) n p, MonadState (Axis b c n) m,
Plotable p b) =>
p -> State (Plot p b) () -> m ()
addPlotable p
p (() -> State (Plot p b) ()
forall a. a -> StateT (Plot p b) Identity a
forall (m :: * -> *) a. Monad m => a -> m a
return ())
r2Axis
:: (TypeableFloat n,
Renderable (Text n) b,
Renderable (Path V2 n) b)
=> Axis b V2 n
r2Axis :: forall n b.
(TypeableFloat n, Renderable (Text n) b,
Renderable (Path V2 n) b) =>
Axis b V2 n
r2Axis = Axis
{ _axisStyle :: AxisStyle b (BaseSpace V2) n
_axisStyle = AxisStyle b V2 n
AxisStyle b (BaseSpace V2) n
forall n b.
(TypeableFloat n, Renderable (Path V2 n) b) =>
AxisStyle b V2 n
fadedColours
, _colourBar :: ColourBar b n
_colourBar = ColourBar b n
forall n b.
(Renderable (Text n) b, Renderable (Path V2 n) b,
TypeableFloat n) =>
ColourBar b n
defColourBar
, _colourBarR :: (n, n)
_colourBarR = (n
0,n
1)
, _axisTitle :: Title b (BaseSpace V2) n
_axisTitle = Title b V2 n
Title b (BaseSpace V2) n
forall a. Default a => a
def
, _legend :: Legend b n
_legend = Legend b n
forall a. Default a => a
def
, _axisPlots :: [DynamicPlot b (BaseSpace V2) n]
_axisPlots = []
, _plotModifier :: Endo (StyledPlot b (BaseSpace V2) n)
_plotModifier = Endo (StyledPlot b V2 n)
Endo (StyledPlot b (BaseSpace V2) n)
forall a. Monoid a => a
mempty
, _axes :: V2 (SingleAxis b (BaseSpace V2) n)
_axes = SingleAxis b V2 n -> V2 (SingleAxis b V2 n)
forall a. a -> V2 a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SingleAxis b V2 n
forall a. Default a => a
def
}
xAxis :: R1 c => Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
xAxis :: forall (c :: * -> *) b n.
R1 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
xAxis = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall a. Lens' (c a) a
forall (t :: * -> *) a. R1 t => Lens' (t a) a
_x
xLabel :: R1 c => Lens' (Axis b c n) String
xLabel :: forall (c :: * -> *) b n. R1 c => Lens' (Axis b c n) String
xLabel = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R1 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
xAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((String -> f String)
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (String -> f String)
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> f String)
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
(HasAxisLabel f a b, Functor f) =>
LensLike' f a String
axisLabelText
xMin :: R1 c => Lens' (Axis b c n) (Maybe n)
xMin :: forall (c :: * -> *) b n. R1 c => Lens' (Axis b c n) (Maybe n)
xMin = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R1 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
xAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMin
xMax :: R1 c => Lens' (Axis b c n) (Maybe n)
xMax :: forall (c :: * -> *) b n. R1 c => Lens' (Axis b c n) (Maybe n)
xMax = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R1 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
xAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMax
yAxis :: R2 c => Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
yAxis :: forall (c :: * -> *) b n.
R2 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
yAxis = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall a. Lens' (c a) a
forall (t :: * -> *) a. R2 t => Lens' (t a) a
_y
yLabel :: R2 c => Lens' (Axis b c n) String
yLabel :: forall (c :: * -> *) b n. R2 c => Lens' (Axis b c n) String
yLabel = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R2 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
yAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((String -> f String)
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (String -> f String)
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> f String)
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
(HasAxisLabel f a b, Functor f) =>
LensLike' f a String
axisLabelText
yMin :: R2 c => Lens' (Axis b c n) (Maybe n)
yMin :: forall (c :: * -> *) b n. R2 c => Lens' (Axis b c n) (Maybe n)
yMin = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R2 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
yAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMin
yMax :: R2 c => Lens' (Axis b c n) (Maybe n)
yMax :: forall (c :: * -> *) b n. R2 c => Lens' (Axis b c n) (Maybe n)
yMax = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R2 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
yAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMax
zAxis :: R3 c => Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
zAxis :: forall (c :: * -> *) b n.
R3 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
zAxis = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall a. Lens' (c a) a
forall (t :: * -> *) a. R3 t => Lens' (t a) a
_z
zLabel :: R3 c => Lens' (Axis b c n) String
zLabel :: forall (c :: * -> *) b n. R3 c => Lens' (Axis b c n) String
zLabel = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R3 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
zAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((String -> f String)
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (String -> f String)
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> f String)
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
(HasAxisLabel f a b, Functor f) =>
LensLike' f a String
axisLabelText
zMin :: R3 c => Lens' (Axis b c n) (Maybe n)
zMin :: forall (c :: * -> *) b n. R3 c => Lens' (Axis b c n) (Maybe n)
zMin = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R3 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
zAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMin
zMax :: R3 c => Lens' (Axis b c n) (Maybe n)
zMax :: forall (c :: * -> *) b n. R3 c => Lens' (Axis b c n) (Maybe n)
zMax = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
R3 c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
zAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMax
rAxis :: Radial c => Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
rAxis :: forall (c :: * -> *) b n.
Radial c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
rAxis = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n))
forall a. Lens' (c a) a
forall (t :: * -> *) a. Radial t => Lens' (t a) a
_radial
rLabel :: Radial c => Lens' (Axis b c n) String
rLabel :: forall (c :: * -> *) b n. Radial c => Lens' (Axis b c n) String
rLabel = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
Radial c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
rAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((String -> f String)
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (String -> f String)
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> f String)
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
(HasAxisLabel f a b, Functor f) =>
LensLike' f a String
axisLabelText
rMax :: Radial c => Lens' (Axis b c n) (Maybe n)
rMax :: forall (c :: * -> *) b n. Radial c => Lens' (Axis b c n) (Maybe n)
rMax = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
Radial c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
rAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (Maybe n -> f (Maybe n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe n -> f (Maybe n))
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
LensLike'
f
(SingleAxis b (BaseSpace c) n)
(Maybe (N (SingleAxis b (BaseSpace c) n)))
forall (f :: * -> *) a.
(HasAxisScaling f a, Functor f) =>
LensLike' f a (Maybe (N a))
boundMax
thetaAxis :: Circle c => Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
thetaAxis :: forall (c :: * -> *) b n.
Circle c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
thetaAxis = (c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n)
Lens
(Axis b c n)
(Axis b c n)
(c (SingleAxis b (BaseSpace c) n))
(c (SingleAxis b (BaseSpace c) n))
forall (v :: * -> *) (c :: * -> *) (c' :: * -> *) b n.
(v ~ BaseSpace c, v ~ BaseSpace c') =>
Lens
(Axis b c n)
(Axis b c' n)
(c (SingleAxis b v n))
(c' (SingleAxis b v n))
axes ((c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> Axis b c n -> f (Axis b c n))
-> ((SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> c (SingleAxis b (BaseSpace c) n)
-> f (c (SingleAxis b (BaseSpace c) n)))
-> (SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. E c -> forall x. Lens' (c x) x
forall (t :: * -> *). E t -> forall x. Lens' (t x) x
el E c
forall (v :: * -> *). Circle v => E v
etheta
thetaLabel :: Circle c => Lens' (Axis b c n) String
thetaLabel :: forall (c :: * -> *) b n. Circle c => Lens' (Axis b c n) String
thetaLabel = (SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n)
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
forall (c :: * -> *) b n.
Circle c =>
Lens' (Axis b c n) (SingleAxis b (BaseSpace c) n)
thetaAxis ((SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n))
-> Axis b c n -> f (Axis b c n))
-> ((String -> f String)
-> SingleAxis b (BaseSpace c) n
-> f (SingleAxis b (BaseSpace c) n))
-> (String -> f String)
-> Axis b c n
-> f (Axis b c n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> f String)
-> SingleAxis b (BaseSpace c) n -> f (SingleAxis b (BaseSpace c) n)
forall (f :: * -> *) a b.
(HasAxisLabel f a b, Functor f) =>
LensLike' f a String
axisLabelText
polarAxis
:: (TypeableFloat n,
Renderable (Text n) b,
Renderable (Path V2 n) b)
=> Axis b Polar n
polarAxis :: forall n b.
(TypeableFloat n, Renderable (Text n) b,
Renderable (Path V2 n) b) =>
Axis b Polar n
polarAxis = Axis
{ _axisStyle :: AxisStyle b (BaseSpace Polar) n
_axisStyle = AxisStyle b V2 n
AxisStyle b (BaseSpace Polar) n
forall n b.
(TypeableFloat n, Renderable (Path V2 n) b) =>
AxisStyle b V2 n
fadedColours
, _colourBar :: ColourBar b n
_colourBar = ColourBar b n
forall n b.
(Renderable (Text n) b, Renderable (Path V2 n) b,
TypeableFloat n) =>
ColourBar b n
defColourBar
, _colourBarR :: (n, n)
_colourBarR = (n
0,n
1)
, _axisTitle :: Title b (BaseSpace Polar) n
_axisTitle = Title b V2 n
Title b (BaseSpace Polar) n
forall a. Default a => a
def
, _legend :: Legend b n
_legend = Legend b n
forall a. Default a => a
def
, _axisPlots :: [DynamicPlot b (BaseSpace Polar) n]
_axisPlots = []
, _plotModifier :: Endo (StyledPlot b (BaseSpace Polar) n)
_plotModifier = Endo (StyledPlot b V2 n)
Endo (StyledPlot b (BaseSpace Polar) n)
forall a. Monoid a => a
mempty
, _axes :: Polar (SingleAxis b (BaseSpace Polar) n)
_axes = SingleAxis b V2 n -> Polar (SingleAxis b V2 n)
forall a. a -> Polar a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SingleAxis b V2 n
forall a. Default a => a
def
}