{-# LANGUAGE DeriveDataTypeable     #-}
{-# LANGUAGE FlexibleContexts       #-}
{-# LANGUAGE FlexibleInstances      #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE MultiParamTypeClasses  #-}
{-# LANGUAGE RankNTypes             #-}
{-# LANGUAGE RecordWildCards        #-}
{-# LANGUAGE TypeFamilies           #-}
{-# LANGUAGE ViewPatterns           #-}
-----------------------------------------------------------------------------
-- |
-- Module      :  Plots.Style
-- Copyright   :  (C) 2016 Christopher Chalmers
-- License     :  BSD-style (see the file LICENSE)
-- Maintainer  :  Christopher Chalmers
-- Stability   :  experimental
-- Portability :  non-portable
--
-- This module defines the 'AxisStyle' type along with different colour
-- schemes. 'AxisStyle's are used to provide default colours and shapes
-- for the plots of an axis.
--
----------------------------------------------------------------------------

module Plots.Style
  ( -- * The axis style
    AxisStyle
  , HasAxisStyle (..)

    -- ** Predefined styles
  , fadedColours
  , vividColours
  , blackAndWhite

    -- * Plot Style
  , PlotStyle
  , HasPlotStyle (..)

  -- ** Applying Plot styles
  , applyLineStyle
  , applyMarkerStyle
  , applyAreaStyle
  , applyTextStyle

    -- * Colour schemes
  , colours1
  , colours2

    -- * Marker shapes
  , asterisk
  , diamond
  , crossShape
  , star'
  , plus
  , lineMarkers

    -- * Colour maps
  , ColourMap
  , ixColour
  , ixColourR
  , cmTraverse
  , colourMap
  , colourList
  , toStops

  , NanColours
  , HasNanColours (..)

    -- ** Sample maps
  , viridis
  , magma
  , inferno
  , plasma
  , greys

  ) where

import qualified Control.Lens     as Lens
import           Data.Colour.SRGB
import qualified Data.Map         as M
import           Data.Typeable
import           Diagrams.Prelude hiding (magma)
import           Linear

-- | Plot styles are used to style each plot in an axis. Every 'Axis'
--   comes with a list of plots styles (contained in the 'AxisStyle')
--   which get applied the plots upon rendering.
--
--   You can either change the list of plot styles used with
--   'axisStyle':
--
-- @
-- stylishAxis = r2Axis &~ do
--   axisStyle .= vividColours
--   linePlot [(1,2) (3,4)] $ key "line 1"
--   linePlot [(1,1) (4,2)] $ key "line 2"
-- @
--
--   change the style for individual plots when changing the plot state.
--
-- @
-- stylishAxis2 = r2Axis &~ do
--   linePlot [(1,2) (3,4)] $ do
--     key "line 1"
--     plotColour .= green
--   linePlot [(1,1) (4,2)] $ do
--     key "line 2"
--     plotColour .= orange
-- @
--
--   A plot style is made up of separate styles ('lineStyle',
--   'markerStyle', 'areaStyle' and 'textStyle') a 'plotColour' and a
--   'plotMarker'. When rendering a plot, the 'PlotStyle's in an
--   'AxisStyle' are used to style each plot. The lenses can be used to
--   customise each style when adding the plot.
--
--   * 'plotColour' - the underlying colour of the plot
--   * 'lineStyle' - style used for lines ('linePlot', 'connectingLine'
--      in a 'scatterPlot')
--   * 'areaStyle' - style used for any area ('barPlot', 'piePlot',
--      'histogramPlot')
--   * 'markerStyle' - style used for markers in 'scatterPlot'
--   * 'plotMarker' - marker used in 'scatterPlot'
data PlotStyle b v n = PlotStyle
  { forall b (v :: * -> *) n. PlotStyle b v n -> Colour Double
_plotColour  :: Colour Double
  , forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_lineStyle   :: Colour Double -> Style v n
  , forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_markerStyle :: Colour Double -> Style v n
  , forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_areaStyle   :: Colour Double -> Style v n
  , forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_textStyle   :: Colour Double -> Style v n
  , forall b (v :: * -> *) n. PlotStyle b v n -> QDiagram b v n Any
_plotMarker  :: QDiagram b v n Any
  } deriving Typeable
  -- XXX link to examples in haddock?

type instance V (PlotStyle b v n) = v
type instance N (PlotStyle b v n) = n

-- | Class for objects that contain a 'PlotStyle'.
class HasPlotStyle f a b | a -> b where
  -- | Lens onto the 'PlotStyle'.
  plotStyle :: LensLike' f a (PlotStyle b (V a) (N a))

  -- | The 'plotColour' is the overall colour of the plot. This is passed
  --   to the other styles ('lineStyle', 'markerStyle' etc.) to give an
  --   overall colour for the plot.
  plotColour :: Functor f => LensLike' f a (Colour Double)
  plotColour = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> ((Colour Double -> f (Colour Double))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> Colour Double)
-> (PlotStyle b (V a) (N a)
    -> Colour Double -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (Colour Double)
     (Colour Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> Colour Double
forall b (v :: * -> *) n. PlotStyle b v n -> Colour Double
_plotColour (\PlotStyle b (V a) (N a)
p Colour Double
f -> PlotStyle b (V a) (N a)
p {_plotColour = f})

  -- | Alias for 'plotColour'.
  plotColor :: Functor f => LensLike' f a (Colour Double)
  plotColor = LensLike' f a (Colour Double)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double)
plotColour

  -- | This style is applied to any plots made up of lines only (like
  --   'Path' plots). This is a less general version of
  --   'lineStyleFunction'.
  lineStyle :: Settable f => LensLike' f a (Style (V a) (N a))
  lineStyle = LensLike' f a (Colour Double -> Style (V a) (N a))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
lineStyleFunction LensLike' f a (Colour Double -> Style (V a) (N a))
-> ((Style (V a) (N a) -> f (Style (V a) (N a)))
    -> (Colour Double -> Style (V a) (N a))
    -> f (Colour Double -> Style (V a) (N a)))
-> LensLike' f a (Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Style (V a) (N a) -> f (Style (V a) (N a)))
-> (Colour Double -> Style (V a) (N a))
-> f (Colour Double -> Style (V a) (N a))
Setter
  (Colour Double -> Style (V a) (N a))
  (Colour Double -> Style (V a) (N a))
  (Style (V a) (N a))
  (Style (V a) (N a))
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped

  -- | A version 'lineStyle' with access to the current 'plotColour'
  --   when 'applyLineStyle' is used.
  lineStyleFunction :: Functor f => LensLike' f a (Colour Double ->
    Style (V a) (N a))
  lineStyleFunction = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> (((Colour Double -> Style (V a) (N a))
     -> f (Colour Double -> Style (V a) (N a)))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double -> Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a))
-> (PlotStyle b (V a) (N a)
    -> (Colour Double -> Style (V a) (N a)) -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V a) (N a))
     (Colour Double -> Style (V a) (N a))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a)
forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_lineStyle (\PlotStyle b (V a) (N a)
p Colour Double -> Style (V a) (N a)
f -> PlotStyle b (V a) (N a)
p {_lineStyle = f})

  -- | This style is applied to any markers in the plot (usually the
  --   'plotMarker'). This is a less general version of
  --   'markerStyleFunction'.
  markerStyle :: Settable f => LensLike' f a (Style (V a) (N a))
  markerStyle = LensLike' f a (Colour Double -> Style (V a) (N a))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
markerStyleFunction LensLike' f a (Colour Double -> Style (V a) (N a))
-> ((Style (V a) (N a) -> f (Style (V a) (N a)))
    -> (Colour Double -> Style (V a) (N a))
    -> f (Colour Double -> Style (V a) (N a)))
-> LensLike' f a (Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Style (V a) (N a) -> f (Style (V a) (N a)))
-> (Colour Double -> Style (V a) (N a))
-> f (Colour Double -> Style (V a) (N a))
Setter
  (Colour Double -> Style (V a) (N a))
  (Colour Double -> Style (V a) (N a))
  (Style (V a) (N a))
  (Style (V a) (N a))
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped

  -- | A version 'lineStyle' with access to the current 'plotColour' when
  --   'applyMarkerStyle' is used.
  markerStyleFunction :: Functor f => LensLike' f a (Colour Double -> Style (V a) (N a))
  markerStyleFunction = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> (((Colour Double -> Style (V a) (N a))
     -> f (Colour Double -> Style (V a) (N a)))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double -> Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a))
-> (PlotStyle b (V a) (N a)
    -> (Colour Double -> Style (V a) (N a)) -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V a) (N a))
     (Colour Double -> Style (V a) (N a))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a)
forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_markerStyle (\PlotStyle b (V a) (N a)
p Colour Double -> Style (V a) (N a)
f -> PlotStyle b (V a) (N a)
p {_markerStyle = f})

  -- | This style is applied to any filled areas in a plot (like
  --   'Plots.Types.Bar' or 'Plots.Styles.Ribbon'). This is a less
  --   general version of 'areaStyleFunction'.
  areaStyle :: Settable f => LensLike' f a (Style (V a) (N a))
  areaStyle = LensLike' f a (Colour Double -> Style (V a) (N a))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
areaStyleFunction LensLike' f a (Colour Double -> Style (V a) (N a))
-> ((Style (V a) (N a) -> f (Style (V a) (N a)))
    -> (Colour Double -> Style (V a) (N a))
    -> f (Colour Double -> Style (V a) (N a)))
-> LensLike' f a (Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Style (V a) (N a) -> f (Style (V a) (N a)))
-> (Colour Double -> Style (V a) (N a))
-> f (Colour Double -> Style (V a) (N a))
Setter
  (Colour Double -> Style (V a) (N a))
  (Colour Double -> Style (V a) (N a))
  (Style (V a) (N a))
  (Style (V a) (N a))
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped

  -- | A version 'areaStyle' with access to the current 'plotColour' when
  --   'applyAreaStyle' is used.
  areaStyleFunction :: Functor f => LensLike' f a (Colour Double -> Style (V a) (N a))
  areaStyleFunction = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> (((Colour Double -> Style (V a) (N a))
     -> f (Colour Double -> Style (V a) (N a)))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double -> Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a))
-> (PlotStyle b (V a) (N a)
    -> (Colour Double -> Style (V a) (N a)) -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V a) (N a))
     (Colour Double -> Style (V a) (N a))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a)
forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_areaStyle (\PlotStyle b (V a) (N a)
p Colour Double -> Style (V a) (N a)
f -> PlotStyle b (V a) (N a)
p {_areaStyle = f})

  -- | This style is applied to text plots. This is a less general
  --   version of 'textStyleFunction'.
  textStyle :: Settable f => LensLike' f a (Style (V a) (N a))
  textStyle = LensLike' f a (Colour Double -> Style (V a) (N a))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
textStyleFunction LensLike' f a (Colour Double -> Style (V a) (N a))
-> ((Style (V a) (N a) -> f (Style (V a) (N a)))
    -> (Colour Double -> Style (V a) (N a))
    -> f (Colour Double -> Style (V a) (N a)))
-> LensLike' f a (Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Style (V a) (N a) -> f (Style (V a) (N a)))
-> (Colour Double -> Style (V a) (N a))
-> f (Colour Double -> Style (V a) (N a))
Setter
  (Colour Double -> Style (V a) (N a))
  (Colour Double -> Style (V a) (N a))
  (Style (V a) (N a))
  (Style (V a) (N a))
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped

  -- | A version 'textStyle' with access to the current 'plotColour' when
  --   'applyAreaStyle' is used.
  textStyleFunction :: Functor f => LensLike' f a (Colour Double -> Style (V a) (N a))
  textStyleFunction = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> (((Colour Double -> Style (V a) (N a))
     -> f (Colour Double -> Style (V a) (N a)))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double -> Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a))
-> (PlotStyle b (V a) (N a)
    -> (Colour Double -> Style (V a) (N a)) -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V a) (N a))
     (Colour Double -> Style (V a) (N a))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> Colour Double -> Style (V a) (N a)
forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_textStyle (\PlotStyle b (V a) (N a)
p Colour Double -> Style (V a) (N a)
f -> PlotStyle b (V a) (N a)
p {_textStyle = f})

  -- | This diagram is used as any markers in a plot (like
  --   'Plots.Types.Scatter'). The 'markerStyle' will be applied to this
  --   marker when the plot gets rendered.
  plotMarker :: Functor f => LensLike' f a (QDiagram b (V a) (N a) Any)
  plotMarker = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> ((QDiagram b (V a) (N a) Any -> f (QDiagram b (V a) (N a) Any))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (QDiagram b (V a) (N a) Any)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PlotStyle b (V a) (N a) -> QDiagram b (V a) (N a) Any)
-> (PlotStyle b (V a) (N a)
    -> QDiagram b (V a) (N a) Any -> PlotStyle b (V a) (N a))
-> Lens
     (PlotStyle b (V a) (N a))
     (PlotStyle b (V a) (N a))
     (QDiagram b (V a) (N a) Any)
     (QDiagram b (V a) (N a) Any)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PlotStyle b (V a) (N a) -> QDiagram b (V a) (N a) Any
forall b (v :: * -> *) n. PlotStyle b v n -> QDiagram b v n Any
_plotMarker (\PlotStyle b (V a) (N a)
p QDiagram b (V a) (N a) Any
f -> PlotStyle b (V a) (N a)
p {_plotMarker = f})

  -- | A traversal over all the styles ('lineStyle', 'markerStyle',
  --  'areaStyle' and 'textStyle') of a 'PlotStyle'. This is a less
  --  general version of 'plotStyleFunctions'.
  plotStyles :: Settable f => LensLike' f a (Style (V a) (N a))
  plotStyles = LensLike' f a (Colour Double -> Style (V a) (N a))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Applicative f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
plotStyleFunctions LensLike' f a (Colour Double -> Style (V a) (N a))
-> ((Style (V a) (N a) -> f (Style (V a) (N a)))
    -> (Colour Double -> Style (V a) (N a))
    -> f (Colour Double -> Style (V a) (N a)))
-> LensLike' f a (Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Style (V a) (N a) -> f (Style (V a) (N a)))
-> (Colour Double -> Style (V a) (N a))
-> f (Colour Double -> Style (V a) (N a))
Setter
  (Colour Double -> Style (V a) (N a))
  (Colour Double -> Style (V a) (N a))
  (Style (V a) (N a))
  (Style (V a) (N a))
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped

  -- | A version of 'plotStyles' with access to the 'plotColour'.
  plotStyleFunctions :: Applicative f => LensLike' f a (Colour Double -> Style (V a) (N a))
  plotStyleFunctions = LensLike' f a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle LensLike' f a (PlotStyle b (V a) (N a))
-> (((Colour Double -> Style (V a) (N a))
     -> f (Colour Double -> Style (V a) (N a)))
    -> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a)))
-> LensLike' f a (Colour Double -> Style (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Colour Double -> Style (V a) (N a))
 -> f (Colour Double -> Style (V a) (N a)))
-> PlotStyle b (V a) (N a) -> f (PlotStyle b (V a) (N a))
forall {f :: * -> *} {v :: * -> *} {n} {b}.
Applicative f =>
((Colour Double -> Style v n) -> f (Colour Double -> Style v n))
-> PlotStyle b v n -> f (PlotStyle b v n)
t
    where
      t :: ((Colour Double -> Style v n) -> f (Colour Double -> Style v n))
-> PlotStyle b v n -> f (PlotStyle b v n)
t (Colour Double -> Style v n) -> f (Colour Double -> Style v n)
f PlotStyle {Colour Double
QDiagram b v n Any
Colour Double -> Style v n
_plotColour :: forall b (v :: * -> *) n. PlotStyle b v n -> Colour Double
_lineStyle :: forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_markerStyle :: forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_areaStyle :: forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_textStyle :: forall b (v :: * -> *) n.
PlotStyle b v n -> Colour Double -> Style v n
_plotMarker :: forall b (v :: * -> *) n. PlotStyle b v n -> QDiagram b v n Any
_plotColour :: Colour Double
_lineStyle :: Colour Double -> Style v n
_markerStyle :: Colour Double -> Style v n
_areaStyle :: Colour Double -> Style v n
_textStyle :: Colour Double -> Style v n
_plotMarker :: QDiagram b v n Any
..} = Colour Double
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> QDiagram b v n Any
-> PlotStyle b v n
forall b (v :: * -> *) n.
Colour Double
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> QDiagram b v n Any
-> PlotStyle b v n
PlotStyle
        (Colour Double
 -> (Colour Double -> Style v n)
 -> (Colour Double -> Style v n)
 -> (Colour Double -> Style v n)
 -> (Colour Double -> Style v n)
 -> QDiagram b v n Any
 -> PlotStyle b v n)
-> f (Colour Double)
-> f ((Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> QDiagram b v n Any
      -> PlotStyle b v n)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Colour Double -> f (Colour Double)
forall a. a -> f a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Colour Double
_plotColour
        f ((Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> QDiagram b v n Any
   -> PlotStyle b v n)
-> f (Colour Double -> Style v n)
-> f ((Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> QDiagram b v n Any
      -> PlotStyle b v n)
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Colour Double -> Style v n) -> f (Colour Double -> Style v n)
f Colour Double -> Style v n
_lineStyle
        f ((Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> QDiagram b v n Any
   -> PlotStyle b v n)
-> f (Colour Double -> Style v n)
-> f ((Colour Double -> Style v n)
      -> (Colour Double -> Style v n)
      -> QDiagram b v n Any
      -> PlotStyle b v n)
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Colour Double -> Style v n) -> f (Colour Double -> Style v n)
f Colour Double -> Style v n
_markerStyle
        f ((Colour Double -> Style v n)
   -> (Colour Double -> Style v n)
   -> QDiagram b v n Any
   -> PlotStyle b v n)
-> f (Colour Double -> Style v n)
-> f ((Colour Double -> Style v n)
      -> QDiagram b v n Any -> PlotStyle b v n)
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Colour Double -> Style v n) -> f (Colour Double -> Style v n)
f Colour Double -> Style v n
_areaStyle
        f ((Colour Double -> Style v n)
   -> QDiagram b v n Any -> PlotStyle b v n)
-> f (Colour Double -> Style v n)
-> f (QDiagram b v n Any -> PlotStyle b v n)
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Colour Double -> Style v n) -> f (Colour Double -> Style v n)
f Colour Double -> Style v n
_textStyle
        f (QDiagram b v n Any -> PlotStyle b v n)
-> f (QDiagram b v n Any) -> f (PlotStyle b v n)
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> QDiagram b v n Any -> f (QDiagram b v n Any)
forall a. a -> f a
forall (f :: * -> *) a. Applicative f => a -> f a
pure QDiagram b v n Any
_plotMarker

instance HasPlotStyle f (PlotStyle b v n) b where
  plotStyle :: LensLike'
  f
  (PlotStyle b v n)
  (PlotStyle b (V (PlotStyle b v n)) (N (PlotStyle b v n)))
plotStyle = (PlotStyle b v n -> f (PlotStyle b v n))
-> PlotStyle b v n -> f (PlotStyle b v n)
LensLike'
  f
  (PlotStyle b v n)
  (PlotStyle b (V (PlotStyle b v n)) (N (PlotStyle b v n)))
forall a. a -> a
id

-- Applying styles -----------------------------------------------------

-- | Apply the 'lineStyle' from a 'PlotStyle'.
--
-- @
-- applyLineStyle :: (InSpace v n t, HasStyle t) => PlotStyle b v n -> t -> t
-- @
applyLineStyle
  :: (SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b, HasStyle t)
  => a -> t -> t
applyLineStyle :: forall a t b.
(SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b,
 HasStyle t) =>
a -> t -> t
applyLineStyle (Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
-> a -> PlotStyle b (V a) (N a)
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle -> PlotStyle b (V a) (N a)
sty) =
  Style (V t) (N t) -> t -> t
forall a. HasStyle a => Style (V a) (N a) -> a -> a
applyStyle (Style (V t) (N t) -> t -> t) -> Style (V t) (N t) -> t -> t
forall a b. (a -> b) -> a -> b
$ (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double -> Style (V t) (N t))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V t) (N t))
-> Colour Double
-> Style (V t) (N t)
forall s a. s -> Getting a s a -> a
^. Getting
  (Colour Double -> Style (V t) (N t))
  (PlotStyle b (V a) (N a))
  (Colour Double -> Style (V t) (N t))
LensLike'
  (Const (Colour Double -> Style (V t) (N t)))
  (PlotStyle b (V a) (N a))
  (Colour Double
   -> Style
        (V (PlotStyle b (V a) (N a))) (N (PlotStyle b (V a) (N a))))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
lineStyleFunction) (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
-> Colour Double
forall s a. s -> Getting a s a -> a
^. Getting (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double)
plotColour)

-- | Apply the 'markerStyle' from a 'PlotStyle'.
--
-- @
-- applyMarkerStyle :: (InSpace v n t, HasStyle t) => PlotStyle b v n -> t -> t
-- @
applyMarkerStyle
  :: (SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b, HasStyle t)
  => a -> t -> t
applyMarkerStyle :: forall a t b.
(SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b,
 HasStyle t) =>
a -> t -> t
applyMarkerStyle (Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
-> a -> PlotStyle b (V a) (N a)
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle -> PlotStyle b (V a) (N a)
sty) =
  Style (V t) (N t) -> t -> t
forall a. HasStyle a => Style (V a) (N a) -> a -> a
applyStyle (Style (V t) (N t) -> t -> t) -> Style (V t) (N t) -> t -> t
forall a b. (a -> b) -> a -> b
$ (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double -> Style (V t) (N t))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V t) (N t))
-> Colour Double
-> Style (V t) (N t)
forall s a. s -> Getting a s a -> a
^. Getting
  (Colour Double -> Style (V t) (N t))
  (PlotStyle b (V a) (N a))
  (Colour Double -> Style (V t) (N t))
LensLike'
  (Const (Colour Double -> Style (V t) (N t)))
  (PlotStyle b (V a) (N a))
  (Colour Double
   -> Style
        (V (PlotStyle b (V a) (N a))) (N (PlotStyle b (V a) (N a))))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
markerStyleFunction) (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
-> Colour Double
forall s a. s -> Getting a s a -> a
^. Getting (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double)
plotColour)

-- | Apply the 'areaStyle from a 'PlotStyle'.
--
-- @
-- applyLineStyle :: (InSpace v n t, HasStyle t) => PlotStyle b v n -> t -> t
-- @
applyAreaStyle
  :: (SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b, HasStyle t)
  => a -> t -> t
applyAreaStyle :: forall a t b.
(SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b,
 HasStyle t) =>
a -> t -> t
applyAreaStyle (Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
-> a -> PlotStyle b (V a) (N a)
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle -> PlotStyle b (V a) (N a)
sty) =
  Style (V t) (N t) -> t -> t
forall a. HasStyle a => Style (V a) (N a) -> a -> a
applyStyle (Style (V t) (N t) -> t -> t) -> Style (V t) (N t) -> t -> t
forall a b. (a -> b) -> a -> b
$ (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double -> Style (V t) (N t))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V t) (N t))
-> Colour Double
-> Style (V t) (N t)
forall s a. s -> Getting a s a -> a
^. Getting
  (Colour Double -> Style (V t) (N t))
  (PlotStyle b (V a) (N a))
  (Colour Double -> Style (V t) (N t))
LensLike'
  (Const (Colour Double -> Style (V t) (N t)))
  (PlotStyle b (V a) (N a))
  (Colour Double
   -> Style
        (V (PlotStyle b (V a) (N a))) (N (PlotStyle b (V a) (N a))))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
areaStyleFunction) (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
-> Colour Double
forall s a. s -> Getting a s a -> a
^. Getting (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double)
plotColour)

-- | Apply the 'textStyle' from a 'PlotStyle'.
--
-- @
-- applyTextStyle :: (InSpace v n t, HasStyle t) => PlotStyle b v n -> t -> t
-- @
applyTextStyle
  :: (SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b, HasStyle t)
  => a -> t -> t
applyTextStyle :: forall a t b.
(SameSpace a t, HasPlotStyle (Const (PlotStyle b (V a) (N a))) a b,
 HasStyle t) =>
a -> t -> t
applyTextStyle (Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
-> a -> PlotStyle b (V a) (N a)
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting (PlotStyle b (V a) (N a)) a (PlotStyle b (V a) (N a))
forall (f :: * -> *) a b.
HasPlotStyle f a b =>
LensLike' f a (PlotStyle b (V a) (N a))
plotStyle -> PlotStyle b (V a) (N a)
sty) =
  Style (V t) (N t) -> t -> t
forall a. HasStyle a => Style (V a) (N a) -> a -> a
applyStyle (Style (V t) (N t) -> t -> t) -> Style (V t) (N t) -> t -> t
forall a b. (a -> b) -> a -> b
$ (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double -> Style (V t) (N t))
     (PlotStyle b (V a) (N a))
     (Colour Double -> Style (V t) (N t))
-> Colour Double
-> Style (V t) (N t)
forall s a. s -> Getting a s a -> a
^. Getting
  (Colour Double -> Style (V t) (N t))
  (PlotStyle b (V a) (N a))
  (Colour Double -> Style (V t) (N t))
LensLike'
  (Const (Colour Double -> Style (V t) (N t)))
  (PlotStyle b (V a) (N a))
  (Colour Double
   -> Style
        (V (PlotStyle b (V a) (N a))) (N (PlotStyle b (V a) (N a))))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double -> Style (V a) (N a))
textStyleFunction) (PlotStyle b (V a) (N a)
sty PlotStyle b (V a) (N a)
-> Getting
     (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
-> Colour Double
forall s a. s -> Getting a s a -> a
^. Getting (Colour Double) (PlotStyle b (V a) (N a)) (Colour Double)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (Colour Double)
plotColour)

instance (Metric v, Traversable v, OrderedField n) => Transformable (PlotStyle b v n) where
  transform :: Transformation (V (PlotStyle b v n)) (N (PlotStyle b v n))
-> PlotStyle b v n -> PlotStyle b v n
transform Transformation (V (PlotStyle b v n)) (N (PlotStyle b v n))
t = ((QDiagram b v n Any -> Identity (QDiagram b v n Any))
-> PlotStyle b v n -> Identity (PlotStyle b v n)
LensLike'
  Identity
  (PlotStyle b v n)
  (QDiagram b (V (PlotStyle b v n)) (N (PlotStyle b v n)) Any)
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Functor f) =>
LensLike' f a (QDiagram b (V a) (N a) Any)
plotMarker ((QDiagram b v n Any -> Identity (QDiagram b v n Any))
 -> PlotStyle b v n -> Identity (PlotStyle b v n))
-> (QDiagram b v n Any -> QDiagram b v n Any)
-> PlotStyle b v n
-> PlotStyle b v n
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ Transformation (V (QDiagram b v n Any)) (N (QDiagram b v n Any))
-> QDiagram b v n Any -> QDiagram b v n Any
forall t. Transformable t => Transformation (V t) (N t) -> t -> t
transform Transformation (V (QDiagram b v n Any)) (N (QDiagram b v n Any))
Transformation (V (PlotStyle b v n)) (N (PlotStyle b v n))
t) (PlotStyle b v n -> PlotStyle b v n)
-> (PlotStyle b v n -> PlotStyle b v n)
-> PlotStyle b v n
-> PlotStyle b v n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Style v n -> Identity (Style v n))
-> PlotStyle b v n -> Identity (PlotStyle b v n)
LensLike'
  Identity
  (PlotStyle b v n)
  (Style (V (PlotStyle b v n)) (N (PlotStyle b v n)))
forall (f :: * -> *) a b.
(HasPlotStyle f a b, Settable f) =>
LensLike' f a (Style (V a) (N a))
plotStyles ((Style v n -> Identity (Style v n))
 -> PlotStyle b v n -> Identity (PlotStyle b v n))
-> (Style v n -> Style v n) -> PlotStyle b v n -> PlotStyle b v n
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ Transformation (V (Style v n)) (N (Style v n))
-> Style v n -> Style v n
forall t. Transformable t => Transformation (V t) (N t) -> t -> t
transform Transformation (V (Style v n)) (N (Style v n))
Transformation (V (PlotStyle b v n)) (N (PlotStyle b v n))
t)

------------------------------------------------------------------------
-- Axis Style
------------------------------------------------------------------------

-- | The 'AxisStyle' determines the 'Style's of the plots in an axis.
--   There are various predefined styles to change the look of the plot.
data AxisStyle b v n = AxisStyle ColourMap [PlotStyle b v n]

type instance V (AxisStyle b v n) = v
type instance N (AxisStyle b v n) = n

-- | Class of things that have an 'AxisStyle'.
class HasAxisStyle a b | a -> b where
  -- | Lens onto the 'AxisStyle'.
  axisStyle :: Lens' a (AxisStyle b (V a) (N a))

  -- | The 'ColourMap' is used to draw the 'Plots.Axis.ColourBar' and
  --   render plots like 'Plots.HeatMap'.
  axisColourMap :: Lens' a ColourMap
  axisColourMap = (AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
-> a -> f a
forall a b. HasAxisStyle a b => Lens' a (AxisStyle b (V a) (N a))
Lens' a (AxisStyle b (V a) (N a))
axisStyle ((AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
 -> a -> f a)
-> ((ColourMap -> f ColourMap)
    -> AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
-> (ColourMap -> f ColourMap)
-> a
-> f a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ColourMap -> f ColourMap)
-> AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a))
forall {f :: * -> *} {b} {v :: * -> *} {n}.
Functor f =>
(ColourMap -> f ColourMap)
-> AxisStyle b v n -> f (AxisStyle b v n)
cm
    where cm :: (ColourMap -> f ColourMap)
-> AxisStyle b v n -> f (AxisStyle b v n)
cm ColourMap -> f ColourMap
f (AxisStyle ColourMap
c [PlotStyle b v n]
ss) = ColourMap -> f ColourMap
f ColourMap
c f ColourMap
-> (ColourMap -> AxisStyle b v n) -> f (AxisStyle b v n)
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \ColourMap
c' -> ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
forall b (v :: * -> *) n.
ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
AxisStyle ColourMap
c' [PlotStyle b v n]
ss

  -- | Traversal over the 'PlotStyle's in an 'AxisStyle'. There are always
  --   an infinite number of 'PlotStyle's in an 'AxisStyle'.
  axisStyles :: IndexedTraversal' Int a (PlotStyle b (V a) (N a))
  axisStyles = (AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
-> a -> f a
forall a b. HasAxisStyle a b => Lens' a (AxisStyle b (V a) (N a))
Lens' a (AxisStyle b (V a) (N a))
axisStyle ((AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
 -> a -> f a)
-> (p (PlotStyle b (V a) (N a)) (f (PlotStyle b (V a) (N a)))
    -> AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
-> p (PlotStyle b (V a) (N a)) (f (PlotStyle b (V a) (N a)))
-> a
-> f a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ([PlotStyle b (V a) (N a)] -> f [PlotStyle b (V a) (N a)])
-> AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a))
forall {f :: * -> *} {b} {v :: * -> *} {n} {b} {v :: * -> *} {n}.
Functor f =>
([PlotStyle b v n] -> f [PlotStyle b v n])
-> AxisStyle b v n -> f (AxisStyle b v n)
stys (([PlotStyle b (V a) (N a)] -> f [PlotStyle b (V a) (N a)])
 -> AxisStyle b (V a) (N a) -> f (AxisStyle b (V a) (N a)))
-> (p (PlotStyle b (V a) (N a)) (f (PlotStyle b (V a) (N a)))
    -> [PlotStyle b (V a) (N a)] -> f [PlotStyle b (V a) (N a)])
-> p (PlotStyle b (V a) (N a)) (f (PlotStyle b (V a) (N a)))
-> AxisStyle b (V a) (N a)
-> f (AxisStyle b (V a) (N a))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. p (PlotStyle b (V a) (N a)) (f (PlotStyle b (V a) (N a)))
-> [PlotStyle b (V a) (N a)] -> f [PlotStyle b (V a) (N a)]
forall (f :: * -> *) a b.
Traversable f =>
IndexedTraversal Int (f a) (f b) a b
IndexedTraversal
  Int
  [PlotStyle b (V a) (N a)]
  [PlotStyle b (V a) (N a)]
  (PlotStyle b (V a) (N a))
  (PlotStyle b (V a) (N a))
traversed
    where stys :: ([PlotStyle b v n] -> f [PlotStyle b v n])
-> AxisStyle b v n -> f (AxisStyle b v n)
stys [PlotStyle b v n] -> f [PlotStyle b v n]
f (AxisStyle ColourMap
c [PlotStyle b v n]
ss) = [PlotStyle b v n] -> f [PlotStyle b v n]
f [PlotStyle b v n]
ss f [PlotStyle b v n]
-> ([PlotStyle b v n] -> AxisStyle b v n) -> f (AxisStyle b v n)
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \[PlotStyle b v n]
ss' -> ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
forall b (v :: * -> *) n.
ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
AxisStyle ColourMap
c [PlotStyle b v n]
ss'

instance HasAxisStyle (AxisStyle b v n) b where
  axisStyle :: Lens'
  (AxisStyle b v n)
  (AxisStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n)))
axisStyle = (AxisStyle b v n -> f (AxisStyle b v n))
-> AxisStyle b v n -> f (AxisStyle b v n)
(AxisStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n))
 -> f (AxisStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n))))
-> AxisStyle b v n -> f (AxisStyle b v n)
forall a. a -> a
id

instance Applicative f => HasPlotStyle f (AxisStyle b v n) b where
  plotStyle :: LensLike'
  f
  (AxisStyle b v n)
  (PlotStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n)))
plotStyle = LensLike'
  f
  (AxisStyle b v n)
  (PlotStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n)))
forall a b.
HasAxisStyle a b =>
IndexedTraversal' Int a (PlotStyle b (V a) (N a))
IndexedTraversal'
  Int
  (AxisStyle b v n)
  (PlotStyle b (V (AxisStyle b v n)) (N (AxisStyle b v n)))
axisStyles

------------------------------------------------------------------------
-- Predefined themes
------------------------------------------------------------------------

-- $predefined
-- There are only a few themes for now. Eventually there will be a wider
-- range of themes with better support for customisation.

-- code to display axis styles
-- > import Plots
-- > showcase :: AxisStyle B V2 Double -> Diagram B
-- > showcase sty = hsep 0.4 . take 8 $ map drawSty stys
-- >   where
-- >     stys = sty ^.. axisStyles
-- >     drawSty s = applyMarkerStyle s (s^.plotMarker) <> applyLineStyle s lineBehind
-- >     lineBehind = (p2 (-1,0) ~~ p2 (1,0))
--
-- > fadedColourPic   = showcase fadedColours
-- > vividColourPic   = showcase vividColours
-- > blackAndWhitePic = showcase blackAndWhite

-- | Theme using 'funColours' with faded fills and thick lines.
--
-- <<diagrams/src_Plots_Style_fadedColourPic.svg#diagram=fadedColourPic&width=600>>
fadedColours :: (TypeableFloat n, Renderable (Path V2 n) b) => AxisStyle b V2 n
fadedColours :: forall n b.
(TypeableFloat n, Renderable (Path V2 n) b) =>
AxisStyle b V2 n
fadedColours = ColourMap -> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall b (v :: * -> *) n.
ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
AxisStyle ColourMap
viridis ([PlotStyle b V2 n] -> AxisStyle b V2 n)
-> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall a b. (a -> b) -> a -> b
$
  (Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n)
-> [Colour Double] -> [QDiagram b V2 n Any] -> [PlotStyle b V2 n]
forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
zipWith Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
forall {n} {b}.
(Typeable n, Floating n, Ord n) =>
Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
mkStyle ([Colour Double] -> [Colour Double]
forall a. HasCallStack => [a] -> [a]
cycle [Colour Double]
forall n. OrderedField n => [Colour n]
colours1) ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a. HasCallStack => [a] -> [a]
cycle ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any])
-> [QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> a -> b
$ (Path V2 n -> QDiagram b V2 n Any)
-> [Path V2 n] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> [a] -> [b]
map Path V2 n -> QDiagram b V2 n Any
forall n t b.
(InSpace V2 n t, ToPath t, TypeableFloat n,
 Renderable (Path V2 n) b) =>
t -> QDiagram b V2 n Any
stroke [Path V2 n]
forall n. RealFloat n => [Path V2 n]
filledMarkers)
  where
    mkStyle :: Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
mkStyle Colour Double
c = Colour Double
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
forall b (v :: * -> *) n.
Colour Double
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> QDiagram b v n Any
-> PlotStyle b v n
PlotStyle Colour Double
c Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, Monoid b, Typeable (N b), Floating (N b), HasStyle b) =>
Colour Double -> b
lineS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, HasStyle b, Typeable (N b), Floating (N b), Monoid b) =>
Colour Double -> b
fadeS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, HasStyle b, Typeable (N b), Floating (N b), Monoid b) =>
Colour Double -> b
fadeS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, Monoid b, Floating (N b), Typeable (N b), HasStyle b,
 Ord (N b)) =>
Colour Double -> b
fillS
    lineS :: Colour Double -> b
lineS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Typeable n, Floating n, HasStyle a) =>
Colour Double -> a -> a
lc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# N b -> b -> b
forall a n. (N a ~ n, HasStyle a, Typeable n) => n -> a -> a
lwO N b
3 --  normal
    fadeS :: Colour Double -> b
fadeS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc (Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
0.1 Colour Double
forall a. (Ord a, Floating a) => Colour a
white Colour Double
c) b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Typeable n, Floating n, HasStyle a) =>
Colour Double -> a -> a
lc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# N b -> b -> b
forall a n. (N a ~ n, HasStyle a, Typeable n) => n -> a -> a
lwO N b
1
    fillS :: Colour Double -> b
fillS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Measure (N b) -> b -> b
forall a n.
(N a ~ n, HasStyle a, Typeable n) =>
Measure n -> a -> a
lw Measure (N b)
forall n. OrderedField n => Measure n
none

-- | Theme using 'funColours' with no lines on 'areaStyle.
--
-- <<diagrams/src_Plots_Style_vividColourPic.svg#diagram=vividColourPic&width=600>>
vividColours :: (TypeableFloat n, Renderable (Path V2 n) b) => AxisStyle b V2 n
vividColours :: forall n b.
(TypeableFloat n, Renderable (Path V2 n) b) =>
AxisStyle b V2 n
vividColours = ColourMap -> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall b (v :: * -> *) n.
ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
AxisStyle ColourMap
viridis ([PlotStyle b V2 n] -> AxisStyle b V2 n)
-> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall a b. (a -> b) -> a -> b
$
  (Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n)
-> [Colour Double] -> [QDiagram b V2 n Any] -> [PlotStyle b V2 n]
forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
zipWith Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
forall {n} {b}.
(Typeable n, Floating n, Ord n) =>
Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
mkStyle ([Colour Double] -> [Colour Double]
forall a. HasCallStack => [a] -> [a]
cycle [Colour Double]
forall n. OrderedField n => [Colour n]
colours2) ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a. HasCallStack => [a] -> [a]
cycle ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any])
-> [QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> a -> b
$ (Path V2 n -> QDiagram b V2 n Any)
-> [Path V2 n] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> [a] -> [b]
map (n -> QDiagram b V2 n Any -> QDiagram b V2 n Any
forall (v :: * -> *) n a.
(InSpace v n a, Eq n, Fractional n, Transformable a) =>
n -> a -> a
scale n
1.2 (QDiagram b V2 n Any -> QDiagram b V2 n Any)
-> (Path V2 n -> QDiagram b V2 n Any)
-> Path V2 n
-> QDiagram b V2 n Any
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Path V2 n -> QDiagram b V2 n Any
forall n t b.
(InSpace V2 n t, ToPath t, TypeableFloat n,
 Renderable (Path V2 n) b) =>
t -> QDiagram b V2 n Any
stroke) [Path V2 n]
forall n. RealFloat n => [Path V2 n]
filledMarkers)
  where
    mkStyle :: Colour Double -> QDiagram b V2 n Any -> PlotStyle b V2 n
mkStyle Colour Double
c = Colour Double
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
forall b (v :: * -> *) n.
Colour Double
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> QDiagram b v n Any
-> PlotStyle b v n
PlotStyle Colour Double
c Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, Monoid b, Typeable (N b), Floating (N b), HasStyle b) =>
Colour Double -> b
lineS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, HasStyle b, Typeable (N b), Floating (N b), Monoid b) =>
Colour Double -> b
markS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, Monoid b, Floating (N b), Typeable (N b), HasStyle b,
 Ord (N b)) =>
Colour Double -> b
fillS Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, Monoid b, Floating (N b), Typeable (N b), HasStyle b,
 Ord (N b)) =>
Colour Double -> b
fillS
    lineS :: Colour Double -> b
lineS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Typeable n, Floating n, HasStyle a) =>
Colour Double -> a -> a
lc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# N b -> b -> b
forall a n. (N a ~ n, HasStyle a, Typeable n) => n -> a -> a
lwO N b
3 -- normal
    markS :: Colour Double -> b
markS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# N b -> b -> b
forall a n. (N a ~ n, HasStyle a, Typeable n) => n -> a -> a
lwO N b
1 b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Typeable n, Floating n, HasStyle a) =>
Colour Double -> a -> a
lc Colour Double
forall a. (Ord a, Floating a) => Colour a
white
    fillS :: Colour Double -> b
fillS Colour Double
c = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc Colour Double
c b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Measure (N b) -> b -> b
forall a n.
(N a ~ n, HasStyle a, Typeable n) =>
Measure n -> a -> a
lw Measure (N b)
forall n. OrderedField n => Measure n
none

-- | Theme without any colours, useful for black and white documents.
--
-- <<diagrams/src_Plots_Style_blackAndWhitePic.svg#diagram=blackAndWhitePic&width=600>>
blackAndWhite :: (TypeableFloat n, Renderable (Path V2 n) b) => AxisStyle b V2 n
blackAndWhite :: forall n b.
(TypeableFloat n, Renderable (Path V2 n) b) =>
AxisStyle b V2 n
blackAndWhite = ColourMap -> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall b (v :: * -> *) n.
ColourMap -> [PlotStyle b v n] -> AxisStyle b v n
AxisStyle ColourMap
greys ([PlotStyle b V2 n] -> AxisStyle b V2 n)
-> [PlotStyle b V2 n] -> AxisStyle b V2 n
forall a b. (a -> b) -> a -> b
$
  (Colour Double
 -> (Colour Double -> Style V2 n)
 -> QDiagram b V2 n Any
 -> PlotStyle b V2 n)
-> [Colour Double]
-> [Colour Double -> Style V2 n]
-> [QDiagram b V2 n Any]
-> [PlotStyle b V2 n]
forall a b c d. (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
zipWith3 Colour Double
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
forall {n} {b}.
(Typeable n, Floating n) =>
Colour Double
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
mkStyle ([Colour Double] -> [Colour Double]
forall a. HasCallStack => [a] -> [a]
cycle [Colour Double]
colours) ([Colour Double -> Style V2 n] -> [Colour Double -> Style V2 n]
forall a. HasCallStack => [a] -> [a]
cycle [Colour Double -> Style V2 n]
lineStyles) ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a. HasCallStack => [a] -> [a]
cycle ([QDiagram b V2 n Any] -> [QDiagram b V2 n Any])
-> [QDiagram b V2 n Any] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> a -> b
$ (Path V2 n -> QDiagram b V2 n Any)
-> [Path V2 n] -> [QDiagram b V2 n Any]
forall a b. (a -> b) -> [a] -> [b]
map Path V2 n -> QDiagram b V2 n Any
forall n t b.
(InSpace V2 n t, ToPath t, TypeableFloat n,
 Renderable (Path V2 n) b) =>
t -> QDiagram b V2 n Any
stroke [Path V2 n]
forall n. RealFloat n => [Path V2 n]
filledMarkers)
  where
    mkStyle :: Colour Double
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
mkStyle Colour Double
c Colour Double -> Style V2 n
ls = Colour Double
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> (Colour Double -> Style V2 n)
-> QDiagram b V2 n Any
-> PlotStyle b V2 n
forall b (v :: * -> *) n.
Colour Double
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> (Colour Double -> Style v n)
-> QDiagram b v n Any
-> PlotStyle b v n
PlotStyle Colour Double
c Colour Double -> Style V2 n
ls Colour Double -> Style V2 n
forall {b}.
(V b ~ V2, HasStyle b, Typeable (N b), Floating (N b), Monoid b) =>
Colour Double -> b
markerS ((Colour Double -> Style V2 n -> Style V2 n)
-> Colour Double -> Style V2 n
forall {a} {t} {b}. Monoid a => (t -> a -> b) -> t -> b
mk Colour Double -> Style V2 n -> Style V2 n
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc) ((Colour Double -> Style V2 n -> Style V2 n)
-> Colour Double -> Style V2 n
forall {a} {t} {b}. Monoid a => (t -> a -> b) -> t -> b
mk Colour Double -> Style V2 n -> Style V2 n
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc)
    mk :: (t -> a -> b) -> t -> b
mk t -> a -> b
f t
c = a
forall a. Monoid a => a
mempty a -> (a -> b) -> b
forall a b. a -> (a -> b) -> b
# t -> a -> b
f t
c
    --
    markerS :: Colour Double -> b
markerS Colour Double
c  = b
forall a. Monoid a => a
mempty b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Floating n, Typeable n, HasStyle a) =>
Colour Double -> a -> a
fc Colour Double
forall a. (Ord a, Floating a) => Colour a
white b -> (b -> b) -> b
forall a b. a -> (a -> b) -> b
# Colour Double -> b -> b
forall n a.
(InSpace V2 n a, Typeable n, Floating n, HasStyle a) =>
Colour Double -> a -> a
lc Colour Double
c
    lineStyles :: [Colour Double -> Style V2 n]
lineStyles = Colour Double -> Style V2 n
forall a. Monoid a => a
mempty (Colour Double -> Style V2 n)
-> [Colour Double -> Style V2 n] -> [Colour Double -> Style V2 n]
forall a. a -> [a] -> [a]
: ([n] -> Colour Double -> Style V2 n)
-> [[n]] -> [Colour Double -> Style V2 n]
forall a b. (a -> b) -> [a] -> [b]
map (\[n]
ds -> Colour Double -> Style V2 n
forall a. Monoid a => a
mempty (Colour Double -> Style V2 n)
-> ((Colour Double -> Style V2 n) -> Colour Double -> Style V2 n)
-> Colour Double
-> Style V2 n
forall a b. a -> (a -> b) -> b
# [n]
-> n
-> (Colour Double -> Style V2 n)
-> Colour Double
-> Style V2 n
forall a n.
(N a ~ n, HasStyle a, Typeable n, Num n) =>
[n] -> n -> a -> a
dashingL [n]
ds n
0) [[n]]
dashes
    dashes :: [[n]]
dashes     = [[n
6,n
6], [n
6,n
2], [n
2,n
2], [n
6,n
8,n
3]]
    colours :: [Colour Double]
colours    = [Colour Double
forall a. Num a => Colour a
black, Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
0.8 Colour Double
forall a. Num a => Colour a
black Colour Double
forall a. (Ord a, Floating a) => Colour a
white, Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
0.6 Colour Double
forall a. Num a => Colour a
black Colour Double
forall a. (Ord a, Floating a) => Colour a
white, Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
0.4 Colour Double
forall a. Num a => Colour a
black Colour Double
forall a. (Ord a, Floating a) => Colour a
white]

------------------------------------------------------------------------
-- Colours
------------------------------------------------------------------------

-- Unimaginative names :(

-- | A colourful colour set used for 'fadedColours'.
colours1 :: OrderedField n => [Colour n]
colours1 :: forall n. OrderedField n => [Colour n]
colours1 = [Colour n] -> [Colour n]
forall a. HasCallStack => [a] -> [a]
cycle
  [ Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
228 Word8
26  Word8
28
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
55  Word8
126 Word8
184
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
77  Word8
175 Word8
74
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
152 Word8
78  Word8
163
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
255 Word8
127 Word8
0
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
166 Word8
86  Word8
40
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
247 Word8
129 Word8
191
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
153 Word8
153 Word8
153
  ]

-- | Another colour set, used for 'vividColours'.
colours2 :: OrderedField n => [Colour n]
colours2 :: forall n. OrderedField n => [Colour n]
colours2 = [Colour n] -> [Colour n]
forall a. HasCallStack => [a] -> [a]
cycle
  [ Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
27  Word8
158 Word8
119
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
217 Word8
95  Word8
2
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
117 Word8
112 Word8
179
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
231 Word8
41  Word8
138
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
102 Word8
166 Word8
30
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
230 Word8
171 Word8
2
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
166 Word8
118 Word8
29
  , Word8 -> Word8 -> Word8 -> Colour n
forall b.
(Ord b, Floating b) =>
Word8 -> Word8 -> Word8 -> Colour b
sRGB24 Word8
102 Word8
102 Word8
102
  ]

-- | Markers which have a filling, used for 'fadedColours' and
--   'vividColours'.
filledMarkers :: RealFloat n => [Path V2 n]
filledMarkers :: forall n. RealFloat n => [Path V2 n]
filledMarkers = n -> [Path V2 n] -> [Path V2 n]
forall (v :: * -> *) n a.
(InSpace v n a, Eq n, Fractional n, Transformable a) =>
n -> a -> a
scale n
11 ([Path V2 n] -> [Path V2 n])
-> ([Trail V2 n] -> [Path V2 n]) -> [Trail V2 n] -> [Path V2 n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Trail V2 n -> Path V2 n) -> [Trail V2 n] -> [Path V2 n]
forall a b. (a -> b) -> [a] -> [b]
map (Path V2 n -> Path V2 n
forall (v :: * -> *) n a.
(InSpace v n a, R2 v, Fractional n, Alignable a, HasOrigin a) =>
a -> a
centerXY (Path V2 n -> Path V2 n)
-> (Trail V2 n -> Path V2 n) -> Trail V2 n -> Path V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Trail V2 n -> Path V2 n
forall (v :: * -> *) n.
(Metric v, OrderedField n) =>
Trail v n -> Path v n
pathFromTrail) ([Trail V2 n] -> [Path V2 n]) -> [Trail V2 n] -> [Path V2 n]
forall a b. (a -> b) -> a -> b
$ [Trail V2 n] -> [Trail V2 n]
forall a. HasCallStack => [a] -> [a]
cycle
  [ n -> Trail V2 n
forall t n.
(TrailLike t, V t ~ V2, N t ~ n, Transformable t) =>
n -> t
circle n
0.5
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
square n
1
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
triangle n
1
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
diamond (n
1 n -> n -> n
forall a. Fractional a => a -> a -> a
/ n -> n
forall a. Floating a => a -> a
sqrt n
2)
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
pentagon n
0.6
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
crossShape n
1
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
plus n
1
  , n -> Trail V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
star' n
0.8
  ]

-- | 'asterisk' markers with varying numbers of prongs.
lineMarkers :: OrderedField n => [Path V2 n]
lineMarkers :: forall n. OrderedField n => [Path V2 n]
lineMarkers = n -> [Path V2 n] -> [Path V2 n]
forall (v :: * -> *) n a.
(InSpace v n a, Eq n, Fractional n, Transformable a) =>
n -> a -> a
scale n
11 ([Path V2 n] -> [Path V2 n]) -> [Path V2 n] -> [Path V2 n]
forall a b. (a -> b) -> a -> b
$ [Path V2 n] -> [Path V2 n]
forall a. HasCallStack => [a] -> [a]
cycle
  [ Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
4 n
1 Path V2 n -> (Path V2 n -> Path V2 n) -> Path V2 n
forall a b. a -> (a -> b) -> b
# n -> Path V2 n -> Path V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
8)
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
6 n
1
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
5 n
1
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
2 n
1
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
2 n
1 Path V2 n -> (Path V2 n -> Path V2 n) -> Path V2 n
forall a b. a -> (a -> b) -> b
# n -> Path V2 n -> Path V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
4)
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
10 n
1
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
3 n
1
  , Int -> n -> Path V2 n
forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
3 n
1 Path V2 n -> (Path V2 n -> Path V2 n) -> Path V2 n
forall a b. a -> (a -> b) -> b
# n -> Path V2 n -> Path V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
2)
  ]

------------------------------------------------------------------------
-- Shapes
------------------------------------------------------------------------

-- | Make an asterisk with @n@ spokes, each of length @l@.
asterisk :: OrderedField n => Int -> n -> Path V2 n
asterisk :: forall n. OrderedField n => Int -> n -> Path V2 n
asterisk Int
n n
x
  = [Path V2 n] -> Path V2 n
forall a. Monoid a => [a] -> a
mconcat ([Path V2 n] -> Path V2 n)
-> (Path V2 n -> [Path V2 n]) -> Path V2 n -> Path V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Path V2 n] -> [Path V2 n]
forall a. Int -> [a] -> [a]
take Int
n
  ([Path V2 n] -> [Path V2 n])
-> (Path V2 n -> [Path V2 n]) -> Path V2 n -> [Path V2 n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Path V2 n -> Path V2 n) -> Path V2 n -> [Path V2 n]
forall a. (a -> a) -> a -> [a]
iterate (n -> Path V2 n -> Path V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/Int -> n
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
n))
  (Path V2 n -> Path V2 n) -> Path V2 n -> Path V2 n
forall a b. (a -> b) -> a -> b
$ (n
PrevDim (Point V2 n)
0 PrevDim (Point V2 n) -> FinalCoord (Point V2 n) -> Point V2 n
forall c. Coordinates c => PrevDim c -> FinalCoord c -> c
^& n
FinalCoord (Point V2 n)
0) Point V2 n -> Point V2 n -> Path V2 n
forall t (v :: * -> *) n.
(V t ~ v, N t ~ n, TrailLike t) =>
Point v n -> Point v n -> t
~~ (n
PrevDim (Point V2 n)
0 PrevDim (Point V2 n) -> FinalCoord (Point V2 n) -> Point V2 n
forall c. Coordinates c => PrevDim c -> FinalCoord c -> c
^& n
FinalCoord (Point V2 n)
x)

-- | A rotated 'square'.
diamond :: (InSpace V2 n t, TrailLike t) => n -> t
diamond :: forall n t. (InSpace V2 n t, TrailLike t) => n -> t
diamond = Located (Trail (V t) (N t)) -> t
Located (Trail V2 n) -> t
forall t. TrailLike t => Located (Trail (V t) (N t)) -> t
trailLike (Located (Trail V2 n) -> t)
-> (n -> Located (Trail V2 n)) -> n -> t
forall b c a. (b -> c) -> (a -> b) -> a -> c
. n -> Located (Trail V2 n) -> Located (Trail V2 n)
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
8) (Located (Trail V2 n) -> Located (Trail V2 n))
-> (n -> Located (Trail V2 n)) -> n -> Located (Trail V2 n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. n -> Located (Trail V2 n)
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
square

-- | A rotated 'plus'.
crossShape :: (InSpace V2 n t, TrailLike t) => n -> t
crossShape :: forall n t. (InSpace V2 n t, TrailLike t) => n -> t
crossShape = Located (Trail (V t) (N t)) -> t
Located (Trail V2 n) -> t
forall t. TrailLike t => Located (Trail (V t) (N t)) -> t
trailLike (Located (Trail V2 n) -> t)
-> (n -> Located (Trail V2 n)) -> n -> t
forall b c a. (b -> c) -> (a -> b) -> a -> c
. n -> Located (Trail V2 n) -> Located (Trail V2 n)
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
8) (Located (Trail V2 n) -> Located (Trail V2 n))
-> (n -> Located (Trail V2 n)) -> n -> Located (Trail V2 n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. n -> Located (Trail V2 n)
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
plus

-- | Filled in @+@ symbol.
plus :: (InSpace V2 n t, TrailLike t) => n -> t
plus :: forall n t. (InSpace V2 n t, TrailLike t) => n -> t
plus n
x = Located (Trail (V t) (N t)) -> t
Located (Trail V2 n) -> t
forall t. TrailLike t => Located (Trail (V t) (N t)) -> t
trailLike (Located (Trail V2 n) -> t)
-> (Trail' Line V2 n -> Located (Trail V2 n))
-> Trail' Line V2 n
-> t
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Trail V2 n
-> Point (V (Trail V2 n)) (N (Trail V2 n)) -> Located (Trail V2 n)
forall a. a -> Point (V a) (N a) -> Located a
`at` n -> n -> P2 n
forall n. n -> n -> P2 n
mkP2 (n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6) (n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6))
       (Trail V2 n -> Located (Trail V2 n))
-> (Trail' Line V2 n -> Trail V2 n)
-> Trail' Line V2 n
-> Located (Trail V2 n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Trail' Loop V2 n -> Trail V2 n
forall l (v :: * -> *) n. Trail' l v n -> Trail v n
wrapTrail (Trail' Loop V2 n -> Trail V2 n)
-> (Trail' Line V2 n -> Trail' Loop V2 n)
-> Trail' Line V2 n
-> Trail V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Trail' Line V2 n -> Trail' Loop V2 n
forall (v :: * -> *) n.
(Metric v, OrderedField n) =>
Trail' Line v n -> Trail' Loop v n
glueLine (Trail' Line V2 n -> Trail' Loop V2 n)
-> (Trail' Line V2 n -> Trail' Line V2 n)
-> Trail' Line V2 n
-> Trail' Loop V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Trail' Line V2 n] -> Trail' Line V2 n
forall a. Monoid a => [a] -> a
mconcat ([Trail' Line V2 n] -> Trail' Line V2 n)
-> (Trail' Line V2 n -> [Trail' Line V2 n])
-> Trail' Line V2 n
-> Trail' Line V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Trail' Line V2 n] -> [Trail' Line V2 n]
forall a. Int -> [a] -> [a]
take Int
4
       ([Trail' Line V2 n] -> [Trail' Line V2 n])
-> (Trail' Line V2 n -> [Trail' Line V2 n])
-> Trail' Line V2 n
-> [Trail' Line V2 n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Trail' Line V2 n -> Trail' Line V2 n)
-> Trail' Line V2 n -> [Trail' Line V2 n]
forall a. (a -> a) -> a -> [a]
iterate (n -> Trail' Line V2 n -> Trail' Line V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
4)) (Trail' Line V2 n -> [Trail' Line V2 n])
-> (Trail' Line V2 n -> Trail' Line V2 n)
-> Trail' Line V2 n
-> [Trail' Line V2 n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ([Segment Closed V2 n] -> [Segment Closed V2 n])
-> Trail' Line V2 n -> Trail' Line V2 n
forall (v :: * -> *) n.
(Metric v, OrderedField n) =>
([Segment Closed v n] -> [Segment Closed v n])
-> Trail' Line v n -> Trail' Line v n
onLineSegments [Segment Closed V2 n] -> [Segment Closed V2 n]
forall a. HasCallStack => [a] -> [a]
init
       (Trail' Line V2 n -> t) -> Trail' Line V2 n -> t
forall a b. (a -> b) -> a -> b
$ n -> Trail' Line V2 n
forall n t. (InSpace V2 n t, TrailLike t) => n -> t
square (n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
3)

-- | A filled in five sided start of size x.
star' :: (InSpace V2 n t, TrailLike t) => n -> t
star' :: forall n t. (InSpace V2 n t, TrailLike t) => n -> t
star' n
x = Located (Trail (V t) (N t)) -> t
Located (Trail V2 n) -> t
forall t. TrailLike t => Located (Trail (V t) (N t)) -> t
trailLike (Located (Trail V2 n) -> t)
-> (Trail' Line V2 n -> Located (Trail V2 n))
-> Trail' Line V2 n
-> t
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Trail V2 n
-> Point (V (Trail V2 n)) (N (Trail V2 n)) -> Located (Trail V2 n)
forall a. a -> Point (V a) (N a) -> Located a
`at` n -> n -> P2 n
forall n. n -> n -> P2 n
mkP2 (-n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6) (n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6))
        (Trail V2 n -> Located (Trail V2 n))
-> (Trail' Line V2 n -> Trail V2 n)
-> Trail' Line V2 n
-> Located (Trail V2 n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Trail' Loop V2 n -> Trail V2 n
forall l (v :: * -> *) n. Trail' l v n -> Trail v n
wrapTrail (Trail' Loop V2 n -> Trail V2 n)
-> (Trail' Line V2 n -> Trail' Loop V2 n)
-> Trail' Line V2 n
-> Trail V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Trail' Line V2 n -> Trail' Loop V2 n
forall (v :: * -> *) n.
(Metric v, OrderedField n) =>
Trail' Line v n -> Trail' Loop v n
glueLine (Trail' Line V2 n -> Trail' Loop V2 n)
-> (Trail' Line V2 n -> Trail' Line V2 n)
-> Trail' Line V2 n
-> Trail' Loop V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Trail' Line V2 n] -> Trail' Line V2 n
forall a. Monoid a => [a] -> a
mconcat ([Trail' Line V2 n] -> Trail' Line V2 n)
-> (Trail' Line V2 n -> [Trail' Line V2 n])
-> Trail' Line V2 n
-> Trail' Line V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Trail' Line V2 n] -> [Trail' Line V2 n]
forall a. Int -> [a] -> [a]
take Int
5
        ([Trail' Line V2 n] -> [Trail' Line V2 n])
-> (Trail' Line V2 n -> [Trail' Line V2 n])
-> Trail' Line V2 n
-> [Trail' Line V2 n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Trail' Line V2 n -> Trail' Line V2 n)
-> Trail' Line V2 n -> [Trail' Line V2 n]
forall a. (a -> a) -> a -> [a]
iterate (n -> Trail' Line V2 n -> Trail' Line V2 n
forall n t.
(InSpace V2 n t, Transformable t, Floating n) =>
n -> t -> t
rotateBy (-n
1n -> n -> n
forall a. Fractional a => a -> a -> a
/n
5)) (Trail' Line V2 n -> t) -> Trail' Line V2 n -> t
forall a b. (a -> b) -> a -> b
$ Trail' Line V2 n
spoke
  where
    spoke :: Trail' Line V2 n
spoke = [Vn (Trail' Line V2 n)] -> Trail' Line V2 n
[V2 n] -> Trail' Line V2 n
forall t. TrailLike t => [Vn t] -> t
fromOffsets ([V2 n] -> Trail' Line V2 n)
-> ([(n, n)] -> [V2 n]) -> [(n, n)] -> Trail' Line V2 n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((n, n) -> V2 n) -> [(n, n)] -> [V2 n]
forall a b. (a -> b) -> [a] -> [b]
map (n, n) -> V2 n
forall n. (n, n) -> V2 n
r2 ([(n, n)] -> Trail' Line V2 n) -> [(n, n)] -> Trail' Line V2 n
forall a b. (a -> b) -> a -> b
$ [(n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6,n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
2), (n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
6,-n
xn -> n -> n
forall a. Fractional a => a -> a -> a
/n
2)]

------------------------------------------------------------------------
-- Colour maps
------------------------------------------------------------------------

-- | Colours to use when representing @NaN@, @Infinity@ and @-Infinity@.
data NanColours = NanColours
  { NanColours -> Colour Double
_nanColour    :: Colour Double
  , NanColours -> Colour Double
_infColour    :: Colour Double
  , NanColours -> Colour Double
_negInfColour :: Colour Double
  } deriving Int -> NanColours -> ShowS
[NanColours] -> ShowS
NanColours -> String
(Int -> NanColours -> ShowS)
-> (NanColours -> String)
-> ([NanColours] -> ShowS)
-> Show NanColours
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NanColours -> ShowS
showsPrec :: Int -> NanColours -> ShowS
$cshow :: NanColours -> String
show :: NanColours -> String
$cshowList :: [NanColours] -> ShowS
showList :: [NanColours] -> ShowS
Show

class HasNanColours a where
  -- | Colours to use when displaying @NaN@, @Infinity@ and @-Infinity@.
  nanColours :: Lens' a NanColours

  -- | Colour to use when displaying @NaN@.
  --
  -- Default is 'white.
  nanColour :: Lens' a (Colour Double)
  nanColour = (NanColours -> f NanColours) -> a -> f a
forall a. HasNanColours a => Lens' a NanColours
Lens' a NanColours
nanColours ((NanColours -> f NanColours) -> a -> f a)
-> ((Colour Double -> f (Colour Double))
    -> NanColours -> f NanColours)
-> (Colour Double -> f (Colour Double))
-> a
-> f a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (NanColours -> Colour Double)
-> (NanColours -> Colour Double -> NanColours)
-> Lens NanColours NanColours (Colour Double) (Colour Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens NanColours -> Colour Double
_nanColour (\NanColours
n Colour Double
c -> NanColours
n {_nanColour = c})

  -- | Colour to use when displaying @Infinity@.
  --
  -- Default is 'lime'.
  infColour :: Lens' a (Colour Double)
  infColour = (NanColours -> f NanColours) -> a -> f a
forall a. HasNanColours a => Lens' a NanColours
Lens' a NanColours
nanColours ((NanColours -> f NanColours) -> a -> f a)
-> ((Colour Double -> f (Colour Double))
    -> NanColours -> f NanColours)
-> (Colour Double -> f (Colour Double))
-> a
-> f a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (NanColours -> Colour Double)
-> (NanColours -> Colour Double -> NanColours)
-> Lens NanColours NanColours (Colour Double) (Colour Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens NanColours -> Colour Double
_infColour (\NanColours
n Colour Double
c -> NanColours
n {_infColour = c})

  -- | Colour to use when displaying @-Infinity@.
  --
  -- Default is 'magenta'.
  negInfColour :: Lens' a (Colour Double)
  negInfColour = (NanColours -> f NanColours) -> a -> f a
forall a. HasNanColours a => Lens' a NanColours
Lens' a NanColours
nanColours ((NanColours -> f NanColours) -> a -> f a)
-> ((Colour Double -> f (Colour Double))
    -> NanColours -> f NanColours)
-> (Colour Double -> f (Colour Double))
-> a
-> f a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (NanColours -> Colour Double)
-> (NanColours -> Colour Double -> NanColours)
-> Lens NanColours NanColours (Colour Double) (Colour Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens NanColours -> Colour Double
_negInfColour (\NanColours
n Colour Double
c -> NanColours
n {_negInfColour = c})

instance HasNanColours NanColours where
  nanColours :: Lens' NanColours NanColours
nanColours = (NanColours -> f NanColours) -> NanColours -> f NanColours
forall a. a -> a
id

instance Default NanColours where
  def :: NanColours
def = NanColours
    { _nanColour :: Colour Double
_nanColour    = Colour Double
forall a. (Ord a, Floating a) => Colour a
magenta
    , _infColour :: Colour Double
_infColour    = Colour Double
forall a. (Ord a, Floating a) => Colour a
white
    , _negInfColour :: Colour Double
_negInfColour = Colour Double
forall a. Num a => Colour a
black
    }

-- type ColourMap = [(Double, Colour Double)]

-- | A map from a number (usually between 0 and 1) to a colour. Colour
--   maps are part of the 'AxisStyle', which is used for plots like
--   'Plots.Types.HeatMap'.
data ColourMap = ColourMap NanColours (M.Map Rational (Colour Double))
  deriving Int -> ColourMap -> ShowS
[ColourMap] -> ShowS
ColourMap -> String
(Int -> ColourMap -> ShowS)
-> (ColourMap -> String)
-> ([ColourMap] -> ShowS)
-> Show ColourMap
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ColourMap -> ShowS
showsPrec :: Int -> ColourMap -> ShowS
$cshow :: ColourMap -> String
show :: ColourMap -> String
$cshowList :: [ColourMap] -> ShowS
showList :: [ColourMap] -> ShowS
Show

type instance V ColourMap = V1
type instance N ColourMap = Rational

cmap :: Lens' ColourMap (M.Map Rational (Colour Double))
cmap :: Lens' ColourMap (Map Rational (Colour Double))
cmap Map Rational (Colour Double) -> f (Map Rational (Colour Double))
f (ColourMap NanColours
ncs Map Rational (Colour Double)
cs) = Map Rational (Colour Double) -> f (Map Rational (Colour Double))
f Map Rational (Colour Double)
cs f (Map Rational (Colour Double))
-> (Map Rational (Colour Double) -> ColourMap) -> f ColourMap
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \Map Rational (Colour Double)
cs' -> NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
ncs Map Rational (Colour Double)
cs'

instance HasNanColours ColourMap where
  nanColours :: Lens' ColourMap NanColours
nanColours NanColours -> f NanColours
f (ColourMap NanColours
ncs Map Rational (Colour Double)
cs) = NanColours -> f NanColours
f NanColours
ncs f NanColours -> (NanColours -> ColourMap) -> f ColourMap
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \NanColours
ncs' -> NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
ncs' Map Rational (Colour Double)
cs

p1apply :: Num a => Transformation V1 a -> a -> a
p1apply :: forall a. Num a => Transformation V1 a -> a -> a
p1apply Transformation V1 a
t a
a = Transformation V1 a -> Point V1 a -> Point V1 a
forall (v :: * -> *) n.
(Additive v, Num n) =>
Transformation v n -> Point v n -> Point v n
papply Transformation V1 a
t (V1 a -> Point V1 a
forall (f :: * -> *) a. f a -> Point f a
P (a -> V1 a
forall a. a -> V1 a
V1 a
a)) Point V1 a -> Getting a (Point V1 a) a -> a
forall s a. s -> Getting a s a -> a
^. Getting a (Point V1 a) a
forall a. Lens' (Point V1 a) a
forall (t :: * -> *) a. R1 t => Lens' (t a) a
_x

instance Transformable ColourMap where
  transform :: Transformation (V ColourMap) (N ColourMap)
-> ColourMap -> ColourMap
transform Transformation (V ColourMap) (N ColourMap)
t = ASetter ColourMap ColourMap Rational Rational
-> (Rational -> Rational) -> ColourMap -> ColourMap
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((Map Rational (Colour Double)
 -> Identity (Map Rational (Colour Double)))
-> ColourMap -> Identity ColourMap
Lens' ColourMap (Map Rational (Colour Double))
cmap ((Map Rational (Colour Double)
  -> Identity (Map Rational (Colour Double)))
 -> ColourMap -> Identity ColourMap)
-> ((Rational -> Identity Rational)
    -> Map Rational (Colour Double)
    -> Identity (Map Rational (Colour Double)))
-> ASetter ColourMap ColourMap Rational Rational
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ([(Rational, Colour Double)]
 -> Identity [(Rational, Colour Double)])
-> Map Rational (Colour Double)
-> Identity (Map Rational (Colour Double))
(Unwrapped (Map Rational (Colour Double))
 -> Identity (Unwrapped (Map Rational (Colour Double))))
-> Map Rational (Colour Double)
-> Identity (Map Rational (Colour Double))
forall s. Wrapped s => Iso' s (Unwrapped s)
Iso'
  (Map Rational (Colour Double))
  (Unwrapped (Map Rational (Colour Double)))
_Wrapped' (([(Rational, Colour Double)]
  -> Identity [(Rational, Colour Double)])
 -> Map Rational (Colour Double)
 -> Identity (Map Rational (Colour Double)))
-> ((Rational -> Identity Rational)
    -> [(Rational, Colour Double)]
    -> Identity [(Rational, Colour Double)])
-> (Rational -> Identity Rational)
-> Map Rational (Colour Double)
-> Identity (Map Rational (Colour Double))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Rational, Colour Double) -> Identity (Rational, Colour Double))
-> [(Rational, Colour Double)]
-> Identity [(Rational, Colour Double)]
Setter
  [(Rational, Colour Double)]
  [(Rational, Colour Double)]
  (Rational, Colour Double)
  (Rational, Colour Double)
forall (f :: * -> *) a b. Functor f => Setter (f a) (f b) a b
mapped (((Rational, Colour Double) -> Identity (Rational, Colour Double))
 -> [(Rational, Colour Double)]
 -> Identity [(Rational, Colour Double)])
-> ((Rational -> Identity Rational)
    -> (Rational, Colour Double) -> Identity (Rational, Colour Double))
-> (Rational -> Identity Rational)
-> [(Rational, Colour Double)]
-> Identity [(Rational, Colour Double)]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Rational -> Identity Rational)
-> (Rational, Colour Double) -> Identity (Rational, Colour Double)
forall s t a b. Field1 s t a b => Lens s t a b
Lens
  (Rational, Colour Double)
  (Rational, Colour Double)
  Rational
  Rational
_1) (Transformation V1 Rational -> Rational -> Rational
forall a. Num a => Transformation V1 a -> a -> a
p1apply Transformation (V ColourMap) (N ColourMap)
Transformation V1 Rational
t)

type instance Index ColourMap   = Rational
type instance IxValue ColourMap = Colour Double

instance Each ColourMap ColourMap (Colour Double) (Colour Double) where
  each :: Traversal ColourMap ColourMap (Colour Double) (Colour Double)
each = (Map Rational (Colour Double) -> f (Map Rational (Colour Double)))
-> ColourMap -> f ColourMap
Lens' ColourMap (Map Rational (Colour Double))
cmap ((Map Rational (Colour Double) -> f (Map Rational (Colour Double)))
 -> ColourMap -> f ColourMap)
-> ((Colour Double -> f (Colour Double))
    -> Map Rational (Colour Double)
    -> f (Map Rational (Colour Double)))
-> (Colour Double -> f (Colour Double))
-> ColourMap
-> f ColourMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Colour Double -> f (Colour Double))
-> Map Rational (Colour Double) -> f (Map Rational (Colour Double))
forall s t a b. Each s t a b => Traversal s t a b
Traversal
  (Map Rational (Colour Double))
  (Map Rational (Colour Double))
  (Colour Double)
  (Colour Double)
each

instance Ixed ColourMap where
  ix :: Index ColourMap -> Traversal' ColourMap (IxValue ColourMap)
ix Index ColourMap
x = Rational -> Lens' ColourMap (Colour Double)
ixColourR Rational
Index ColourMap
x

-- | 'Nothing' == 'transparent'
instance At ColourMap where
  at :: Index ColourMap -> Lens' ColourMap (Maybe (IxValue ColourMap))
at Index ColourMap
x = Rational -> Lens' ColourMap (Colour Double)
ixColourR Rational
Index ColourMap
x ((Colour Double -> f (Colour Double)) -> ColourMap -> f ColourMap)
-> ((Maybe (Colour Double) -> f (Maybe (Colour Double)))
    -> Colour Double -> f (Colour Double))
-> (Maybe (Colour Double) -> f (Maybe (Colour Double)))
-> ColourMap
-> f ColourMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AnIso
  (Maybe (Colour Double))
  (Maybe (Colour Double))
  (Colour Double)
  (Colour Double)
-> Iso
     (Colour Double)
     (Colour Double)
     (Maybe (Colour Double))
     (Maybe (Colour Double))
forall s t a b. AnIso s t a b -> Iso b a t s
from (Colour Double -> Iso' (Maybe (Colour Double)) (Colour Double)
forall a. Eq a => a -> Iso' (Maybe a) a
non Colour Double
forall a. Num a => Colour a
black)

ixColour :: Double -> Lens' ColourMap (Colour Double)
ixColour :: Double -> Lens' ColourMap (Colour Double)
ixColour Double
x Colour Double -> f (Colour Double)
f cM :: ColourMap
cM@(ColourMap NanColours
ncs Map Rational (Colour Double)
cm)
  | Double -> Bool
forall a. RealFloat a => a -> Bool
isNaN Double
x      = (Colour Double -> f (Colour Double)) -> ColourMap -> f ColourMap
forall a. HasNanColours a => Lens' a (Colour Double)
Lens' ColourMap (Colour Double)
nanColour Colour Double -> f (Colour Double)
f ColourMap
cM
  | Double -> Bool
forall a. RealFloat a => a -> Bool
isInfinite Double
x = if Double
x Double -> Double -> Bool
forall a. Ord a => a -> a -> Bool
< Double
0 then (Colour Double -> f (Colour Double)) -> ColourMap -> f ColourMap
forall a. HasNanColours a => Lens' a (Colour Double)
Lens' ColourMap (Colour Double)
negInfColour Colour Double -> f (Colour Double)
f ColourMap
cM else (Colour Double -> f (Colour Double)) -> ColourMap -> f ColourMap
forall a. HasNanColours a => Lens' a (Colour Double)
Lens' ColourMap (Colour Double)
infColour Colour Double -> f (Colour Double)
f ColourMap
cM
  | Bool
otherwise    = Colour Double -> f (Colour Double)
f Colour Double
c f (Colour Double) -> (Colour Double -> ColourMap) -> f ColourMap
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \Colour Double
c' -> NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
ncs (Rational
-> Colour Double
-> Map Rational (Colour Double)
-> Map Rational (Colour Double)
forall k a. Ord k => k -> a -> Map k a -> Map k a
M.insert Rational
r Colour Double
c' Map Rational (Colour Double)
cm)
  where
  r :: Rational
r = Double -> Rational
forall a. Real a => a -> Rational
toRational Double
x
  c :: Colour Double
c = case (Rational
-> Map Rational (Colour Double) -> Maybe (Rational, Colour Double)
forall k v. Ord k => k -> Map k v -> Maybe (k, v)
M.lookupLE Rational
r Map Rational (Colour Double)
cm, Rational
-> Map Rational (Colour Double) -> Maybe (Rational, Colour Double)
forall k v. Ord k => k -> Map k v -> Maybe (k, v)
M.lookupGE Rational
r Map Rational (Colour Double)
cm) of
        (Just (Rational
i,Colour Double
c1), Just (Rational
j,Colour Double
c2))
          | Rational
i Rational -> Rational -> Bool
forall a. Eq a => a -> a -> Bool
== Rational
j    -> Colour Double
c1
          | Bool
otherwise ->
              let a :: Double
a = Rational -> Double
forall a. Fractional a => Rational -> a
fromRational (Rational -> Double) -> Rational -> Double
forall a b. (a -> b) -> a -> b
$ (Rational
r Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
i) Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/ (Rational
j Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
i)
              in  Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
a Colour Double
c2 Colour Double
c1
        (Just (Rational
_,Colour Double
c1), Maybe (Rational, Colour Double)
Nothing) -> Colour Double
c1
        (Maybe (Rational, Colour Double)
Nothing, Just (Rational
_,Colour Double
c2)) -> Colour Double
c2
        (Maybe (Rational, Colour Double), Maybe (Rational, Colour Double))
_                      -> Colour Double
forall a. Num a => Colour a
black

ixColourR :: Rational -> Lens' ColourMap (Colour Double)
ixColourR :: Rational -> Lens' ColourMap (Colour Double)
ixColourR Rational
x Colour Double -> f (Colour Double)
f (ColourMap NanColours
ncs Map Rational (Colour Double)
cm) = Colour Double -> f (Colour Double)
f Colour Double
c f (Colour Double) -> (Colour Double -> ColourMap) -> f ColourMap
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \Colour Double
c' -> NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
ncs (Rational
-> Colour Double
-> Map Rational (Colour Double)
-> Map Rational (Colour Double)
forall k a. Ord k => k -> a -> Map k a -> Map k a
M.insert Rational
x Colour Double
c' Map Rational (Colour Double)
cm)
  where
  c :: Colour Double
c = case (Rational
-> Map Rational (Colour Double) -> Maybe (Rational, Colour Double)
forall k v. Ord k => k -> Map k v -> Maybe (k, v)
M.lookupLE Rational
x Map Rational (Colour Double)
cm, Rational
-> Map Rational (Colour Double) -> Maybe (Rational, Colour Double)
forall k v. Ord k => k -> Map k v -> Maybe (k, v)
M.lookupGE Rational
x Map Rational (Colour Double)
cm) of
        (Just (Rational
i,Colour Double
c1), Just (Rational
j,Colour Double
c2))
          | Rational
i Rational -> Rational -> Bool
forall a. Eq a => a -> a -> Bool
== Rational
j    -> Colour Double
c1
          | Bool
otherwise ->
              let a :: Double
a = Rational -> Double
forall a. Fractional a => Rational -> a
fromRational (Rational -> Double) -> Rational -> Double
forall a b. (a -> b) -> a -> b
$ (Rational
x Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
i) Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/ (Rational
j Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
i)
              in  Double -> Colour Double -> Colour Double -> Colour Double
forall a (f :: * -> *).
(Num a, AffineSpace f) =>
a -> f a -> f a -> f a
blend Double
a Colour Double
c2 Colour Double
c1
        (Just (Rational
_,Colour Double
c1), Maybe (Rational, Colour Double)
Nothing) -> Colour Double
c1
        (Maybe (Rational, Colour Double)
Nothing, Just (Rational
_,Colour Double
c2)) -> Colour Double
c2
        (Maybe (Rational, Colour Double), Maybe (Rational, Colour Double))
_                      -> Colour Double
forall a. Num a => Colour a
black

-- | Indexed traversal over the colours indexed and ordered by their
--   position in the map.
cmTraverse :: IndexedTraversal' Rational ColourMap (Colour Double)
cmTraverse :: IndexedTraversal' Rational ColourMap (Colour Double)
cmTraverse = (Map Rational (Colour Double) -> f (Map Rational (Colour Double)))
-> ColourMap -> f ColourMap
Lens' ColourMap (Map Rational (Colour Double))
cmap ((Map Rational (Colour Double) -> f (Map Rational (Colour Double)))
 -> ColourMap -> f ColourMap)
-> (p (Colour Double) (f (Colour Double))
    -> Map Rational (Colour Double)
    -> f (Map Rational (Colour Double)))
-> p (Colour Double) (f (Colour Double))
-> ColourMap
-> f ColourMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. p (Colour Double) (f (Colour Double))
-> Map Rational (Colour Double) -> f (Map Rational (Colour Double))
forall i (t :: * -> *) a b.
TraversableWithIndex i t =>
IndexedTraversal i (t a) (t b) a b
IndexedTraversal
  Rational
  (Map Rational (Colour Double))
  (Map Rational (Colour Double))
  (Colour Double)
  (Colour Double)
itraversed

-- | Return the list of colours in the [0,1] range in order. This always
--   includes colours 0 and 1.
colourList :: ColourMap -> [(Rational, Colour Double)]
colourList :: ColourMap -> [(Rational, Colour Double)]
colourList = IndexedGetting
  Rational
  (Endo [(Rational, Colour Double)])
  ColourMap
  (Colour Double)
-> ColourMap -> [(Rational, Colour Double)]
forall i a s. IndexedGetting i (Endo [(i, a)]) s a -> s -> [(i, a)]
itoListOf (IndexedGetting
  Rational
  (Endo [(Rational, Colour Double)])
  ColourMap
  (Colour Double)
IndexedTraversal' Rational ColourMap (Colour Double)
cmTraverse IndexedGetting
  Rational
  (Endo [(Rational, Colour Double)])
  ColourMap
  (Colour Double)
-> (Indexed
      Rational
      (Colour Double)
      (Const (Endo [(Rational, Colour Double)]) (Colour Double))
    -> Indexed
         Rational
         (Colour Double)
         (Const (Endo [(Rational, Colour Double)]) (Colour Double)))
-> IndexedGetting
     Rational
     (Endo [(Rational, Colour Double)])
     ColourMap
     (Colour Double)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Rational -> Colour Double -> Bool)
-> Indexed
     Rational
     (Colour Double)
     (Const (Endo [(Rational, Colour Double)]) (Colour Double))
-> Indexed
     Rational
     (Colour Double)
     (Const (Endo [(Rational, Colour Double)]) (Colour Double))
forall i (p :: * -> * -> *) (f :: * -> *) a.
(Indexable i p, Applicative f) =>
(i -> a -> Bool) -> Optical' p (Indexed i) f a a
ifiltered (\Rational
i Colour Double
_ -> Rational
i Rational -> Rational -> Bool
forall a. Ord a => a -> a -> Bool
>= Rational
0 Bool -> Bool -> Bool
&& Rational
i Rational -> Rational -> Bool
forall a. Ord a => a -> a -> Bool
<= Rational
1))
           (ColourMap -> [(Rational, Colour Double)])
-> (ColourMap -> ColourMap)
-> ColourMap
-> [(Rational, Colour Double)]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Rational -> Lens' ColourMap (Colour Double)
ixColourR Rational
0 ((Colour Double -> Identity (Colour Double))
 -> ColourMap -> Identity ColourMap)
-> (Colour Double -> Colour Double) -> ColourMap -> ColourMap
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ Colour Double -> Colour Double
forall a. a -> a
id) (ColourMap -> ColourMap)
-> (ColourMap -> ColourMap) -> ColourMap -> ColourMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Rational -> Lens' ColourMap (Colour Double)
ixColourR Rational
1 ((Colour Double -> Identity (Colour Double))
 -> ColourMap -> Identity ColourMap)
-> (Colour Double -> Colour Double) -> ColourMap -> ColourMap
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ Colour Double -> Colour Double
forall a. a -> a
id)
           -- touch colours at 0 and 1 so they're in the list

colourMap :: [(Rational, Colour Double)] -> ColourMap
colourMap :: [(Rational, Colour Double)] -> ColourMap
colourMap [] = NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
forall a. Default a => a
def Map Rational (Colour Double)
forall k a. Map k a
M.empty
colourMap [(Rational, Colour Double)]
cs
  | Rational
a Rational -> Rational -> Bool
forall a. Eq a => a -> a -> Bool
== Rational
b        = NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
forall a. Default a => a
def (Rational -> Colour Double -> Map Rational (Colour Double)
forall k a. k -> a -> Map k a
M.singleton Rational
0.5 Colour Double
c)
  | Bool
otherwise     = NanColours -> Map Rational (Colour Double) -> ColourMap
ColourMap NanColours
forall a. Default a => a
def ((Rational -> Rational)
-> Map Rational (Colour Double) -> Map Rational (Colour Double)
forall k1 k2 a. (k1 -> k2) -> Map k1 a -> Map k2 a
M.mapKeysMonotonic Rational -> Rational
normalise Map Rational (Colour Double)
cm)
  where
    cm :: Map Rational (Colour Double)
cm    = [(Rational, Colour Double)] -> Map Rational (Colour Double)
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList [(Rational, Colour Double)]
cs
    (Rational
a,Colour Double
c) = Map Rational (Colour Double) -> (Rational, Colour Double)
forall k a. Map k a -> (k, a)
M.findMin Map Rational (Colour Double)
cm
    (Rational
b,Colour Double
_) = Map Rational (Colour Double) -> (Rational, Colour Double)
forall k a. Map k a -> (k, a)
M.findMax Map Rational (Colour Double)
cm
    normalise :: Rational -> Rational
normalise Rational
x = (Rational
x Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
a) Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/ (Rational
b Rational -> Rational -> Rational
forall a. Num a => a -> a -> a
- Rational
a)

toStops :: Fractional n => ColourMap -> [GradientStop n]
toStops :: forall n. Fractional n => ColourMap -> [GradientStop n]
toStops = ((Rational, Colour Double) -> GradientStop n)
-> [(Rational, Colour Double)] -> [GradientStop n]
forall a b. (a -> b) -> [a] -> [b]
map (\(Rational
x,Colour Double
c) -> SomeColor -> n -> GradientStop n
forall d. SomeColor -> d -> GradientStop d
GradientStop (Colour Double -> SomeColor
forall c. Color c => c -> SomeColor
SomeColor Colour Double
c) (Rational -> n
forall a. Fractional a => Rational -> a
fromRational Rational
x))
        ([(Rational, Colour Double)] -> [GradientStop n])
-> (ColourMap -> [(Rational, Colour Double)])
-> ColourMap
-> [GradientStop n]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ColourMap -> [(Rational, Colour Double)]
colourList

-- Colour maps ---------------------------------------------------------

-- > import Plots
-- > cmBar cm = gradientColourBar cm # scaleX 15
-- > greysBar = cmBar greys
-- > magmaBar = cmBar Plots.magma
-- > infernoBar = cmBar inferno
-- > plasmaBar = cmBar plasma
-- > viridisBar = cmBar viridis

-- | A colour map from black to white.
--
-- <<diagrams/src_Plots_Style_greysBar.svg#diagram=greysBar&width=600>>
greys :: ColourMap
greys :: ColourMap
greys = [(Rational, Colour Double)] -> ColourMap
colourMap [(Rational
0, Colour Double
forall a. Num a => Colour a
black), (Rational
1, Colour Double
forall a. (Ord a, Floating a) => Colour a
white)]

-- | The magma colour map taken from https://bids.github.io/colormap/.
--
-- <<diagrams/src_Plots_Style_magmaBar.svg#diagram=magmaBar&width=600>>
magma :: ColourMap
magma :: ColourMap
magma = [(Rational, Colour Double)] -> ColourMap
colourMap ([(Rational, Colour Double)] -> ColourMap)
-> [(Rational, Colour Double)] -> ColourMap
forall a b. (a -> b) -> a -> b
$ [Rational] -> [Colour Double] -> [(Rational, Colour Double)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Rational
1..]
  [ Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.001462 Double
0.000466 Double
0.013866, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.002258 Double
0.001295 Double
0.018331
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.003279 Double
0.002305 Double
0.023708, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.004512 Double
0.003490 Double
0.029965
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.005950 Double
0.004843 Double
0.037130, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.007588 Double
0.006356 Double
0.044973
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.009426 Double
0.008022 Double
0.052844, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.011465 Double
0.009828 Double
0.060750
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.013708 Double
0.011771 Double
0.068667, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.016156 Double
0.013840 Double
0.076603
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.018815 Double
0.016026 Double
0.084584, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.021692 Double
0.018320 Double
0.092610
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.024792 Double
0.020715 Double
0.100676, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.028123 Double
0.023201 Double
0.108787
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.031696 Double
0.025765 Double
0.116965, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.035520 Double
0.028397 Double
0.125209
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.039608 Double
0.031090 Double
0.133515, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.043830 Double
0.033830 Double
0.141886
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.048062 Double
0.036607 Double
0.150327, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.052320 Double
0.039407 Double
0.158841
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.056615 Double
0.042160 Double
0.167446, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.060949 Double
0.044794 Double
0.176129
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.065330 Double
0.047318 Double
0.184892, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.069764 Double
0.049726 Double
0.193735
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.074257 Double
0.052017 Double
0.202660, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.078815 Double
0.054184 Double
0.211667
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.083446 Double
0.056225 Double
0.220755, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.088155 Double
0.058133 Double
0.229922
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.092949 Double
0.059904 Double
0.239164, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.097833 Double
0.061531 Double
0.248477
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.102815 Double
0.063010 Double
0.257854, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.107899 Double
0.064335 Double
0.267289
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.113094 Double
0.065492 Double
0.276784, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.118405 Double
0.066479 Double
0.286321
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.123833 Double
0.067295 Double
0.295879, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.129380 Double
0.067935 Double
0.305443
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.135053 Double
0.068391 Double
0.315000, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.140858 Double
0.068654 Double
0.324538
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.146785 Double
0.068738 Double
0.334011, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.152839 Double
0.068637 Double
0.343404
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.159018 Double
0.068354 Double
0.352688, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.165308 Double
0.067911 Double
0.361816
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.171713 Double
0.067305 Double
0.370771, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.178212 Double
0.066576 Double
0.379497
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.184801 Double
0.065732 Double
0.387973, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.191460 Double
0.064818 Double
0.396152
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.198177 Double
0.063862 Double
0.404009, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.204935 Double
0.062907 Double
0.411514
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.211718 Double
0.061992 Double
0.418647, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.218512 Double
0.061158 Double
0.425392
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.225302 Double
0.060445 Double
0.431742, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.232077 Double
0.059889 Double
0.437695
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.238826 Double
0.059517 Double
0.443256, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.245543 Double
0.059352 Double
0.448436
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.252220 Double
0.059415 Double
0.453248, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.258857 Double
0.059706 Double
0.457710
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.265447 Double
0.060237 Double
0.461840, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.271994 Double
0.060994 Double
0.465660
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.278493 Double
0.061978 Double
0.469190, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.284951 Double
0.063168 Double
0.472451
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.291366 Double
0.064553 Double
0.475462, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.297740 Double
0.066117 Double
0.478243
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.304081 Double
0.067835 Double
0.480812, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.310382 Double
0.069702 Double
0.483186
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.316654 Double
0.071690 Double
0.485380, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.322899 Double
0.073782 Double
0.487408
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.329114 Double
0.075972 Double
0.489287, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.335308 Double
0.078236 Double
0.491024
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.341482 Double
0.080564 Double
0.492631, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.347636 Double
0.082946 Double
0.494121
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.353773 Double
0.085373 Double
0.495501, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.359898 Double
0.087831 Double
0.496778
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.366012 Double
0.090314 Double
0.497960, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.372116 Double
0.092816 Double
0.499053
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.378211 Double
0.095332 Double
0.500067, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.384299 Double
0.097855 Double
0.501002
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.390384 Double
0.100379 Double
0.501864, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.396467 Double
0.102902 Double
0.502658
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.402548 Double
0.105420 Double
0.503386, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.408629 Double
0.107930 Double
0.504052
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.414709 Double
0.110431 Double
0.504662, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.420791 Double
0.112920 Double
0.505215
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.426877 Double
0.115395 Double
0.505714, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.432967 Double
0.117855 Double
0.506160
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.439062 Double
0.120298 Double
0.506555, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.445163 Double
0.122724 Double
0.506901
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.451271 Double
0.125132 Double
0.507198, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.457386 Double
0.127522 Double
0.507448
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.463508 Double
0.129893 Double
0.507652, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.469640 Double
0.132245 Double
0.507809
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.475780 Double
0.134577 Double
0.507921, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.481929 Double
0.136891 Double
0.507989
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.488088 Double
0.139186 Double
0.508011, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.494258 Double
0.141462 Double
0.507988
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.500438 Double
0.143719 Double
0.507920, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.506629 Double
0.145958 Double
0.507806
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.512831 Double
0.148179 Double
0.507648, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.519045 Double
0.150383 Double
0.507443
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.525270 Double
0.152569 Double
0.507192, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.531507 Double
0.154739 Double
0.506895
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.537755 Double
0.156894 Double
0.506551, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.544015 Double
0.159033 Double
0.506159
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.550287 Double
0.161158 Double
0.505719, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.556571 Double
0.163269 Double
0.505230
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.562866 Double
0.165368 Double
0.504692, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.569172 Double
0.167454 Double
0.504105
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.575490 Double
0.169530 Double
0.503466, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.581819 Double
0.171596 Double
0.502777
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.588158 Double
0.173652 Double
0.502035, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.594508 Double
0.175701 Double
0.501241
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.600868 Double
0.177743 Double
0.500394, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.607238 Double
0.179779 Double
0.499492
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.613617 Double
0.181811 Double
0.498536, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.620005 Double
0.183840 Double
0.497524
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.626401 Double
0.185867 Double
0.496456, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.632805 Double
0.187893 Double
0.495332
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.639216 Double
0.189921 Double
0.494150, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.645633 Double
0.191952 Double
0.492910
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.652056 Double
0.193986 Double
0.491611, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.658483 Double
0.196027 Double
0.490253
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.664915 Double
0.198075 Double
0.488836, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.671349 Double
0.200133 Double
0.487358
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.677786 Double
0.202203 Double
0.485819, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.684224 Double
0.204286 Double
0.484219
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.690661 Double
0.206384 Double
0.482558, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.697098 Double
0.208501 Double
0.480835
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.703532 Double
0.210638 Double
0.479049, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.709962 Double
0.212797 Double
0.477201
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.716387 Double
0.214982 Double
0.475290, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.722805 Double
0.217194 Double
0.473316
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.729216 Double
0.219437 Double
0.471279, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.735616 Double
0.221713 Double
0.469180
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.742004 Double
0.224025 Double
0.467018, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.748378 Double
0.226377 Double
0.464794
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.754737 Double
0.228772 Double
0.462509, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.761077 Double
0.231214 Double
0.460162
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.767398 Double
0.233705 Double
0.457755, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.773695 Double
0.236249 Double
0.455289
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.779968 Double
0.238851 Double
0.452765, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.786212 Double
0.241514 Double
0.450184
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.792427 Double
0.244242 Double
0.447543, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.798608 Double
0.247040 Double
0.444848
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.804752 Double
0.249911 Double
0.442102, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.810855 Double
0.252861 Double
0.439305
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.816914 Double
0.255895 Double
0.436461, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.822926 Double
0.259016 Double
0.433573
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.828886 Double
0.262229 Double
0.430644, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.834791 Double
0.265540 Double
0.427671
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.840636 Double
0.268953 Double
0.424666, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.846416 Double
0.272473 Double
0.421631
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.852126 Double
0.276106 Double
0.418573, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.857763 Double
0.279857 Double
0.415496
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.863320 Double
0.283729 Double
0.412403, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.868793 Double
0.287728 Double
0.409303
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.874176 Double
0.291859 Double
0.406205, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.879464 Double
0.296125 Double
0.403118
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.884651 Double
0.300530 Double
0.400047, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.889731 Double
0.305079 Double
0.397002
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.894700 Double
0.309773 Double
0.393995, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.899552 Double
0.314616 Double
0.391037
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.904281 Double
0.319610 Double
0.388137, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.908884 Double
0.324755 Double
0.385308
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.913354 Double
0.330052 Double
0.382563, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.917689 Double
0.335500 Double
0.379915
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.921884 Double
0.341098 Double
0.377376, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.925937 Double
0.346844 Double
0.374959
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.929845 Double
0.352734 Double
0.372677, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.933606 Double
0.358764 Double
0.370541
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.937221 Double
0.364929 Double
0.368567, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.940687 Double
0.371224 Double
0.366762
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.944006 Double
0.377643 Double
0.365136, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.947180 Double
0.384178 Double
0.363701
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.950210 Double
0.390820 Double
0.362468, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.953099 Double
0.397563 Double
0.361438
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.955849 Double
0.404400 Double
0.360619, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.958464 Double
0.411324 Double
0.360014
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.960949 Double
0.418323 Double
0.359630, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.963310 Double
0.425390 Double
0.359469
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.965549 Double
0.432519 Double
0.359529, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.967671 Double
0.439703 Double
0.359810
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.969680 Double
0.446936 Double
0.360311, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.971582 Double
0.454210 Double
0.361030
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.973381 Double
0.461520 Double
0.361965, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.975082 Double
0.468861 Double
0.363111
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.976690 Double
0.476226 Double
0.364466, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.978210 Double
0.483612 Double
0.366025
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.979645 Double
0.491014 Double
0.367783, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.981000 Double
0.498428 Double
0.369734
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.982279 Double
0.505851 Double
0.371874, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.983485 Double
0.513280 Double
0.374198
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984622 Double
0.520713 Double
0.376698, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985693 Double
0.528148 Double
0.379371
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986700 Double
0.535582 Double
0.382210, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987646 Double
0.543015 Double
0.385210
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988533 Double
0.550446 Double
0.388365, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989363 Double
0.557873 Double
0.391671
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990138 Double
0.565296 Double
0.395122, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990871 Double
0.572706 Double
0.398714
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991558 Double
0.580107 Double
0.402441, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992196 Double
0.587502 Double
0.406299
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992785 Double
0.594891 Double
0.410283, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993326 Double
0.602275 Double
0.414390
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993834 Double
0.609644 Double
0.418613, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994309 Double
0.616999 Double
0.422950
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994738 Double
0.624350 Double
0.427397, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995122 Double
0.631696 Double
0.431951
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995480 Double
0.639027 Double
0.436607, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995810 Double
0.646344 Double
0.441361
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996096 Double
0.653659 Double
0.446213, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996341 Double
0.660969 Double
0.451160
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996580 Double
0.668256 Double
0.456192, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996775 Double
0.675541 Double
0.461314
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996925 Double
0.682828 Double
0.466526, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997077 Double
0.690088 Double
0.471811
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997186 Double
0.697349 Double
0.477182, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997254 Double
0.704611 Double
0.482635
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997325 Double
0.711848 Double
0.488154, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997351 Double
0.719089 Double
0.493755
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997351 Double
0.726324 Double
0.499428, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997341 Double
0.733545 Double
0.505167
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997285 Double
0.740772 Double
0.510983, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997228 Double
0.747981 Double
0.516859
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997138 Double
0.755190 Double
0.522806, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.997019 Double
0.762398 Double
0.528821
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996898 Double
0.769591 Double
0.534892, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996727 Double
0.776795 Double
0.541039
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996571 Double
0.783977 Double
0.547233, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996369 Double
0.791167 Double
0.553499
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.996162 Double
0.798348 Double
0.559820, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995932 Double
0.805527 Double
0.566202
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995680 Double
0.812706 Double
0.572645, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995424 Double
0.819875 Double
0.579140
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.995131 Double
0.827052 Double
0.585701, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994851 Double
0.834213 Double
0.592307
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994524 Double
0.841387 Double
0.598983, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994222 Double
0.848540 Double
0.605696
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993866 Double
0.855711 Double
0.612482, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993545 Double
0.862859 Double
0.619299
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993170 Double
0.870024 Double
0.626189, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992831 Double
0.877168 Double
0.633109
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992440 Double
0.884330 Double
0.640099, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992089 Double
0.891470 Double
0.647116
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991688 Double
0.898627 Double
0.654202, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991332 Double
0.905763 Double
0.661309
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990930 Double
0.912915 Double
0.668481, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990570 Double
0.920049 Double
0.675675
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990175 Double
0.927196 Double
0.682926, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989815 Double
0.934329 Double
0.690198
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989434 Double
0.941470 Double
0.697519, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989077 Double
0.948604 Double
0.704863
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988717 Double
0.955742 Double
0.712242, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988367 Double
0.962878 Double
0.719649
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988033 Double
0.970012 Double
0.727077, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987691 Double
0.977154 Double
0.734536
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987387 Double
0.984288 Double
0.742002, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987053 Double
0.991438 Double
0.749504
  ]

-- | The inferno colour map taken from https://bids.github.io/colormap/.
--
-- <<diagrams/src_Plots_Style_infernoBar.svg#diagram=infernoBar&width=600>>
inferno :: ColourMap
inferno :: ColourMap
inferno = [(Rational, Colour Double)] -> ColourMap
colourMap ([(Rational, Colour Double)] -> ColourMap)
-> [(Rational, Colour Double)] -> ColourMap
forall a b. (a -> b) -> a -> b
$ [Rational] -> [Colour Double] -> [(Rational, Colour Double)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Rational
1..]
  [ Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.001462 Double
0.000466 Double
0.013866, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.002267 Double
0.001270 Double
0.018570
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.003299 Double
0.002249 Double
0.024239, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.004547 Double
0.003392 Double
0.030909
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.006006 Double
0.004692 Double
0.038558, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.007676 Double
0.006136 Double
0.046836
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.009561 Double
0.007713 Double
0.055143, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.011663 Double
0.009417 Double
0.063460
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.013995 Double
0.011225 Double
0.071862, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.016561 Double
0.013136 Double
0.080282
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.019373 Double
0.015133 Double
0.088767, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.022447 Double
0.017199 Double
0.097327
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.025793 Double
0.019331 Double
0.105930, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.029432 Double
0.021503 Double
0.114621
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.033385 Double
0.023702 Double
0.123397, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.037668 Double
0.025921 Double
0.132232
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.042253 Double
0.028139 Double
0.141141, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.046915 Double
0.030324 Double
0.150164
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.051644 Double
0.032474 Double
0.159254, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.056449 Double
0.034569 Double
0.168414
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.061340 Double
0.036590 Double
0.177642, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.066331 Double
0.038504 Double
0.186962
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.071429 Double
0.040294 Double
0.196354, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.076637 Double
0.041905 Double
0.205799
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.081962 Double
0.043328 Double
0.215289, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.087411 Double
0.044556 Double
0.224813
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.092990 Double
0.045583 Double
0.234358, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.098702 Double
0.046402 Double
0.243904
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.104551 Double
0.047008 Double
0.253430, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.110536 Double
0.047399 Double
0.262912
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.116656 Double
0.047574 Double
0.272321, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.122908 Double
0.047536 Double
0.281624
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.129285 Double
0.047293 Double
0.290788, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.135778 Double
0.046856 Double
0.299776
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.142378 Double
0.046242 Double
0.308553, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.149073 Double
0.045468 Double
0.317085
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.155850 Double
0.044559 Double
0.325338, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.162689 Double
0.043554 Double
0.333277
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.169575 Double
0.042489 Double
0.340874, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.176493 Double
0.041402 Double
0.348111
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.183429 Double
0.040329 Double
0.354971, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.190367 Double
0.039309 Double
0.361447
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.197297 Double
0.038400 Double
0.367535, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.204209 Double
0.037632 Double
0.373238
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.211095 Double
0.037030 Double
0.378563, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.217949 Double
0.036615 Double
0.383522
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.224763 Double
0.036405 Double
0.388129, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.231538 Double
0.036405 Double
0.392400
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.238273 Double
0.036621 Double
0.396353, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.244967 Double
0.037055 Double
0.400007
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.251620 Double
0.037705 Double
0.403378, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.258234 Double
0.038571 Double
0.406485
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.264810 Double
0.039647 Double
0.409345, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.271347 Double
0.040922 Double
0.411976
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.277850 Double
0.042353 Double
0.414392, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.284321 Double
0.043933 Double
0.416608
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.290763 Double
0.045644 Double
0.418637, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.297178 Double
0.047470 Double
0.420491
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.303568 Double
0.049396 Double
0.422182, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.309935 Double
0.051407 Double
0.423721
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.316282 Double
0.053490 Double
0.425116, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.322610 Double
0.055634 Double
0.426377
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.328921 Double
0.057827 Double
0.427511, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.335217 Double
0.060060 Double
0.428524
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.341500 Double
0.062325 Double
0.429425, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.347771 Double
0.064616 Double
0.430217
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.354032 Double
0.066925 Double
0.430906, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.360284 Double
0.069247 Double
0.431497
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.366529 Double
0.071579 Double
0.431994, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.372768 Double
0.073915 Double
0.432400
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.379001 Double
0.076253 Double
0.432719, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.385228 Double
0.078591 Double
0.432955
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.391453 Double
0.080927 Double
0.433109, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.397674 Double
0.083257 Double
0.433183
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.403894 Double
0.085580 Double
0.433179, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.410113 Double
0.087896 Double
0.433098
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.416331 Double
0.090203 Double
0.432943, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.422549 Double
0.092501 Double
0.432714
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.428768 Double
0.094790 Double
0.432412, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.434987 Double
0.097069 Double
0.432039
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.441207 Double
0.099338 Double
0.431594, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.447428 Double
0.101597 Double
0.431080
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.453651 Double
0.103848 Double
0.430498, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.459875 Double
0.106089 Double
0.429846
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.466100 Double
0.108322 Double
0.429125, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.472328 Double
0.110547 Double
0.428334
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.478558 Double
0.112764 Double
0.427475, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.484789 Double
0.114974 Double
0.426548
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.491022 Double
0.117179 Double
0.425552, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.497257 Double
0.119379 Double
0.424488
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.503493 Double
0.121575 Double
0.423356, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.509730 Double
0.123769 Double
0.422156
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.515967 Double
0.125960 Double
0.420887, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.522206 Double
0.128150 Double
0.419549
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.528444 Double
0.130341 Double
0.418142, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.534683 Double
0.132534 Double
0.416667
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.540920 Double
0.134729 Double
0.415123, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.547157 Double
0.136929 Double
0.413511
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.553392 Double
0.139134 Double
0.411829, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.559624 Double
0.141346 Double
0.410078
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.565854 Double
0.143567 Double
0.408258, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.572081 Double
0.145797 Double
0.406369
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.578304 Double
0.148039 Double
0.404411, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.584521 Double
0.150294 Double
0.402385
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.590734 Double
0.152563 Double
0.400290, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.596940 Double
0.154848 Double
0.398125
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.603139 Double
0.157151 Double
0.395891, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.609330 Double
0.159474 Double
0.393589
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.615513 Double
0.161817 Double
0.391219, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.621685 Double
0.164184 Double
0.388781
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.627847 Double
0.166575 Double
0.386276, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.633998 Double
0.168992 Double
0.383704
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.640135 Double
0.171438 Double
0.381065, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.646260 Double
0.173914 Double
0.378359
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.652369 Double
0.176421 Double
0.375586, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.658463 Double
0.178962 Double
0.372748
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.664540 Double
0.181539 Double
0.369846, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.670599 Double
0.184153 Double
0.366879
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.676638 Double
0.186807 Double
0.363849, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.682656 Double
0.189501 Double
0.360757
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.688653 Double
0.192239 Double
0.357603, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.694627 Double
0.195021 Double
0.354388
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.700576 Double
0.197851 Double
0.351113, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.706500 Double
0.200728 Double
0.347777
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.712396 Double
0.203656 Double
0.344383, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.718264 Double
0.206636 Double
0.340931
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.724103 Double
0.209670 Double
0.337424, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.729909 Double
0.212759 Double
0.333861
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.735683 Double
0.215906 Double
0.330245, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.741423 Double
0.219112 Double
0.326576
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.747127 Double
0.222378 Double
0.322856, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.752794 Double
0.225706 Double
0.319085
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.758422 Double
0.229097 Double
0.315266, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.764010 Double
0.232554 Double
0.311399
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.769556 Double
0.236077 Double
0.307485, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.775059 Double
0.239667 Double
0.303526
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.780517 Double
0.243327 Double
0.299523, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.785929 Double
0.247056 Double
0.295477
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.791293 Double
0.250856 Double
0.291390, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.796607 Double
0.254728 Double
0.287264
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.801871 Double
0.258674 Double
0.283099, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.807082 Double
0.262692 Double
0.278898
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.812239 Double
0.266786 Double
0.274661, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.817341 Double
0.270954 Double
0.270390
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.822386 Double
0.275197 Double
0.266085, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.827372 Double
0.279517 Double
0.261750
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.832299 Double
0.283913 Double
0.257383, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.837165 Double
0.288385 Double
0.252988
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.841969 Double
0.292933 Double
0.248564, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.846709 Double
0.297559 Double
0.244113
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.851384 Double
0.302260 Double
0.239636, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.855992 Double
0.307038 Double
0.235133
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.860533 Double
0.311892 Double
0.230606, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.865006 Double
0.316822 Double
0.226055
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.869409 Double
0.321827 Double
0.221482, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.873741 Double
0.326906 Double
0.216886
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.878001 Double
0.332060 Double
0.212268, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.882188 Double
0.337287 Double
0.207628
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.886302 Double
0.342586 Double
0.202968, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.890341 Double
0.347957 Double
0.198286
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.894305 Double
0.353399 Double
0.193584, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.898192 Double
0.358911 Double
0.188860
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.902003 Double
0.364492 Double
0.184116, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.905735 Double
0.370140 Double
0.179350
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.909390 Double
0.375856 Double
0.174563, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.912966 Double
0.381636 Double
0.169755
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.916462 Double
0.387481 Double
0.164924, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.919879 Double
0.393389 Double
0.160070
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.923215 Double
0.399359 Double
0.155193, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.926470 Double
0.405389 Double
0.150292
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.929644 Double
0.411479 Double
0.145367, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.932737 Double
0.417627 Double
0.140417
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.935747 Double
0.423831 Double
0.135440, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.938675 Double
0.430091 Double
0.130438
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.941521 Double
0.436405 Double
0.125409, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.944285 Double
0.442772 Double
0.120354
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946965 Double
0.449191 Double
0.115272, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.949562 Double
0.455660 Double
0.110164
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.952075 Double
0.462178 Double
0.105031, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.954506 Double
0.468744 Double
0.099874
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.956852 Double
0.475356 Double
0.094695, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.959114 Double
0.482014 Double
0.089499
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.961293 Double
0.488716 Double
0.084289, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.963387 Double
0.495462 Double
0.079073
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.965397 Double
0.502249 Double
0.073859, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.967322 Double
0.509078 Double
0.068659
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.969163 Double
0.515946 Double
0.063488, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.970919 Double
0.522853 Double
0.058367
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.972590 Double
0.529798 Double
0.053324, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.974176 Double
0.536780 Double
0.048392
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.975677 Double
0.543798 Double
0.043618, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.977092 Double
0.550850 Double
0.039050
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.978422 Double
0.557937 Double
0.034931, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.979666 Double
0.565057 Double
0.031409
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.980824 Double
0.572209 Double
0.028508, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.981895 Double
0.579392 Double
0.026250
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.982881 Double
0.586606 Double
0.024661, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.983779 Double
0.593849 Double
0.023770
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984591 Double
0.601122 Double
0.023606, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985315 Double
0.608422 Double
0.024202
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985952 Double
0.615750 Double
0.025592, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986502 Double
0.623105 Double
0.027814
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986964 Double
0.630485 Double
0.030908, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987337 Double
0.637890 Double
0.034916
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987622 Double
0.645320 Double
0.039886, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987819 Double
0.652773 Double
0.045581
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987926 Double
0.660250 Double
0.051750, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987945 Double
0.667748 Double
0.058329
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987874 Double
0.675267 Double
0.065257, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987714 Double
0.682807 Double
0.072489
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987464 Double
0.690366 Double
0.079990, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987124 Double
0.697944 Double
0.087731
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986694 Double
0.705540 Double
0.095694, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986175 Double
0.713153 Double
0.103863
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985566 Double
0.720782 Double
0.112229, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984865 Double
0.728427 Double
0.120785
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984075 Double
0.736087 Double
0.129527, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.983196 Double
0.743758 Double
0.138453
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.982228 Double
0.751442 Double
0.147565, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.981173 Double
0.759135 Double
0.156863
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.980032 Double
0.766837 Double
0.166353, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.978806 Double
0.774545 Double
0.176037
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.977497 Double
0.782258 Double
0.185923, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.976108 Double
0.789974 Double
0.196018
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.974638 Double
0.797692 Double
0.206332, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.973088 Double
0.805409 Double
0.216877
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.971468 Double
0.813122 Double
0.227658, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.969783 Double
0.820825 Double
0.238686
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.968041 Double
0.828515 Double
0.249972, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.966243 Double
0.836191 Double
0.261534
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.964394 Double
0.843848 Double
0.273391, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.962517 Double
0.851476 Double
0.285546
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.960626 Double
0.859069 Double
0.298010, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.958720 Double
0.866624 Double
0.310820
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.956834 Double
0.874129 Double
0.323974, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.954997 Double
0.881569 Double
0.337475
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.953215 Double
0.888942 Double
0.351369, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.951546 Double
0.896226 Double
0.365627
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.950018 Double
0.903409 Double
0.380271, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.948683 Double
0.910473 Double
0.395289
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.947594 Double
0.917399 Double
0.410665, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946809 Double
0.924168 Double
0.426373
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946392 Double
0.930761 Double
0.442367, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946403 Double
0.937159 Double
0.458592
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946903 Double
0.943348 Double
0.474970, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.947937 Double
0.949318 Double
0.491426
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.949545 Double
0.955063 Double
0.507860, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.951740 Double
0.960587 Double
0.524203
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.954529 Double
0.965896 Double
0.540361, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.957896 Double
0.971003 Double
0.556275
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.961812 Double
0.975924 Double
0.571925, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.966249 Double
0.980678 Double
0.587206
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.971162 Double
0.985282 Double
0.602154, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.976511 Double
0.989753 Double
0.616760
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.982257 Double
0.994109 Double
0.631017, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988362 Double
0.998364 Double
0.644924
  ]

-- | The plasma colour map taken from https://bids.github.io/colormap/.
--
-- <<diagrams/src_Plots_Style_plasmaBar.svg#diagram=plasmaBar&width=600>>
plasma :: ColourMap
plasma :: ColourMap
plasma = [(Rational, Colour Double)] -> ColourMap
colourMap ([(Rational, Colour Double)] -> ColourMap)
-> [(Rational, Colour Double)] -> ColourMap
forall a b. (a -> b) -> a -> b
$ [Rational] -> [Colour Double] -> [(Rational, Colour Double)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Rational
1..]
  [ Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.050383 Double
0.029803 Double
0.527975, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.063536 Double
0.028426 Double
0.533124
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.075353 Double
0.027206 Double
0.538007, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.086222 Double
0.026125 Double
0.542658
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.096379 Double
0.025165 Double
0.547103, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.105980 Double
0.024309 Double
0.551368
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.115124 Double
0.023556 Double
0.555468, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.123903 Double
0.022878 Double
0.559423
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.132381 Double
0.022258 Double
0.563250, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.140603 Double
0.021687 Double
0.566959
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.148607 Double
0.021154 Double
0.570562, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.156421 Double
0.020651 Double
0.574065
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.164070 Double
0.020171 Double
0.577478, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.171574 Double
0.019706 Double
0.580806
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.178950 Double
0.019252 Double
0.584054, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.186213 Double
0.018803 Double
0.587228
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.193374 Double
0.018354 Double
0.590330, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.200445 Double
0.017902 Double
0.593364
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.207435 Double
0.017442 Double
0.596333, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.214350 Double
0.016973 Double
0.599239
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.221197 Double
0.016497 Double
0.602083, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.227983 Double
0.016007 Double
0.604867
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.234715 Double
0.015502 Double
0.607592, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.241396 Double
0.014979 Double
0.610259
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.248032 Double
0.014439 Double
0.612868, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.254627 Double
0.013882 Double
0.615419
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.261183 Double
0.013308 Double
0.617911, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.267703 Double
0.012716 Double
0.620346
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.274191 Double
0.012109 Double
0.622722, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.280648 Double
0.011488 Double
0.625038
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.287076 Double
0.010855 Double
0.627295, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.293478 Double
0.010213 Double
0.629490
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.299855 Double
0.009561 Double
0.631624, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.306210 Double
0.008902 Double
0.633694
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.312543 Double
0.008239 Double
0.635700, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.318856 Double
0.007576 Double
0.637640
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.325150 Double
0.006915 Double
0.639512, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.331426 Double
0.006261 Double
0.641316
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.337683 Double
0.005618 Double
0.643049, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.343925 Double
0.004991 Double
0.644710
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.350150 Double
0.004382 Double
0.646298, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.356359 Double
0.003798 Double
0.647810
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.362553 Double
0.003243 Double
0.649245, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.368733 Double
0.002724 Double
0.650601
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.374897 Double
0.002245 Double
0.651876, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.381047 Double
0.001814 Double
0.653068
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.387183 Double
0.001434 Double
0.654177, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.393304 Double
0.001114 Double
0.655199
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.399411 Double
0.000859 Double
0.656133, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.405503 Double
0.000678 Double
0.656977
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.411580 Double
0.000577 Double
0.657730, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.417642 Double
0.000564 Double
0.658390
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.423689 Double
0.000646 Double
0.658956, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.429719 Double
0.000831 Double
0.659425
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.435734 Double
0.001127 Double
0.659797, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.441732 Double
0.001540 Double
0.660069
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.447714 Double
0.002080 Double
0.660240, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.453677 Double
0.002755 Double
0.660310
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.459623 Double
0.003574 Double
0.660277, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.465550 Double
0.004545 Double
0.660139
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.471457 Double
0.005678 Double
0.659897, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.477344 Double
0.006980 Double
0.659549
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.483210 Double
0.008460 Double
0.659095, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.489055 Double
0.010127 Double
0.658534
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.494877 Double
0.011990 Double
0.657865, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.500678 Double
0.014055 Double
0.657088
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.506454 Double
0.016333 Double
0.656202, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.512206 Double
0.018833 Double
0.655209
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.517933 Double
0.021563 Double
0.654109, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.523633 Double
0.024532 Double
0.652901
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.529306 Double
0.027747 Double
0.651586, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.534952 Double
0.031217 Double
0.650165
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.540570 Double
0.034950 Double
0.648640, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.546157 Double
0.038954 Double
0.647010
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.551715 Double
0.043136 Double
0.645277, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.557243 Double
0.047331 Double
0.643443
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.562738 Double
0.051545 Double
0.641509, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.568201 Double
0.055778 Double
0.639477
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.573632 Double
0.060028 Double
0.637349, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.579029 Double
0.064296 Double
0.635126
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.584391 Double
0.068579 Double
0.632812, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.589719 Double
0.072878 Double
0.630408
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.595011 Double
0.077190 Double
0.627917, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.600266 Double
0.081516 Double
0.625342
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.605485 Double
0.085854 Double
0.622686, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.610667 Double
0.090204 Double
0.619951
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.615812 Double
0.094564 Double
0.617140, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.620919 Double
0.098934 Double
0.614257
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.625987 Double
0.103312 Double
0.611305, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.631017 Double
0.107699 Double
0.608287
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.636008 Double
0.112092 Double
0.605205, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.640959 Double
0.116492 Double
0.602065
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.645872 Double
0.120898 Double
0.598867, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.650746 Double
0.125309 Double
0.595617
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.655580 Double
0.129725 Double
0.592317, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.660374 Double
0.134144 Double
0.588971
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.665129 Double
0.138566 Double
0.585582, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.669845 Double
0.142992 Double
0.582154
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.674522 Double
0.147419 Double
0.578688, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.679160 Double
0.151848 Double
0.575189
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.683758 Double
0.156278 Double
0.571660, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.688318 Double
0.160709 Double
0.568103
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.692840 Double
0.165141 Double
0.564522, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.697324 Double
0.169573 Double
0.560919
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.701769 Double
0.174005 Double
0.557296, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.706178 Double
0.178437 Double
0.553657
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.710549 Double
0.182868 Double
0.550004, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.714883 Double
0.187299 Double
0.546338
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.719181 Double
0.191729 Double
0.542663, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.723444 Double
0.196158 Double
0.538981
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.727670 Double
0.200586 Double
0.535293, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.731862 Double
0.205013 Double
0.531601
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.736019 Double
0.209439 Double
0.527908, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.740143 Double
0.213864 Double
0.524216
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.744232 Double
0.218288 Double
0.520524, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.748289 Double
0.222711 Double
0.516834
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.752312 Double
0.227133 Double
0.513149, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.756304 Double
0.231555 Double
0.509468
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.760264 Double
0.235976 Double
0.505794, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.764193 Double
0.240396 Double
0.502126
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.768090 Double
0.244817 Double
0.498465, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.771958 Double
0.249237 Double
0.494813
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.775796 Double
0.253658 Double
0.491171, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.779604 Double
0.258078 Double
0.487539
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.783383 Double
0.262500 Double
0.483918, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.787133 Double
0.266922 Double
0.480307
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.790855 Double
0.271345 Double
0.476706, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.794549 Double
0.275770 Double
0.473117
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.798216 Double
0.280197 Double
0.469538, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.801855 Double
0.284626 Double
0.465971
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.805467 Double
0.289057 Double
0.462415, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.809052 Double
0.293491 Double
0.458870
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.812612 Double
0.297928 Double
0.455338, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.816144 Double
0.302368 Double
0.451816
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.819651 Double
0.306812 Double
0.448306, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.823132 Double
0.311261 Double
0.444806
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.826588 Double
0.315714 Double
0.441316, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.830018 Double
0.320172 Double
0.437836
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.833422 Double
0.324635 Double
0.434366, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.836801 Double
0.329105 Double
0.430905
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.840155 Double
0.333580 Double
0.427455, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.843484 Double
0.338062 Double
0.424013
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.846788 Double
0.342551 Double
0.420579, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.850066 Double
0.347048 Double
0.417153
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.853319 Double
0.351553 Double
0.413734, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.856547 Double
0.356066 Double
0.410322
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.859750 Double
0.360588 Double
0.406917, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.862927 Double
0.365119 Double
0.403519
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.866078 Double
0.369660 Double
0.400126, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.869203 Double
0.374212 Double
0.396738
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.872303 Double
0.378774 Double
0.393355, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.875376 Double
0.383347 Double
0.389976
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.878423 Double
0.387932 Double
0.386600, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.881443 Double
0.392529 Double
0.383229
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.884436 Double
0.397139 Double
0.379860, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.887402 Double
0.401762 Double
0.376494
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.890340 Double
0.406398 Double
0.373130, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.893250 Double
0.411048 Double
0.369768
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.896131 Double
0.415712 Double
0.366407, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.898984 Double
0.420392 Double
0.363047
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.901807 Double
0.425087 Double
0.359688, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.904601 Double
0.429797 Double
0.356329
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.907365 Double
0.434524 Double
0.352970, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.910098 Double
0.439268 Double
0.349610
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.912800 Double
0.444029 Double
0.346251, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.915471 Double
0.448807 Double
0.342890
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.918109 Double
0.453603 Double
0.339529, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.920714 Double
0.458417 Double
0.336166
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.923287 Double
0.463251 Double
0.332801, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.925825 Double
0.468103 Double
0.329435
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.928329 Double
0.472975 Double
0.326067, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.930798 Double
0.477867 Double
0.322697
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.933232 Double
0.482780 Double
0.319325, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.935630 Double
0.487712 Double
0.315952
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.937990 Double
0.492667 Double
0.312575, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.940313 Double
0.497642 Double
0.309197
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.942598 Double
0.502639 Double
0.305816, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.944844 Double
0.507658 Double
0.302433
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.947051 Double
0.512699 Double
0.299049, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.949217 Double
0.517763 Double
0.295662
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.951344 Double
0.522850 Double
0.292275, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.953428 Double
0.527960 Double
0.288883
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.955470 Double
0.533093 Double
0.285490, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.957469 Double
0.538250 Double
0.282096
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.959424 Double
0.543431 Double
0.278701, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.961336 Double
0.548636 Double
0.275305
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.963203 Double
0.553865 Double
0.271909, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.965024 Double
0.559118 Double
0.268513
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.966798 Double
0.564396 Double
0.265118, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.968526 Double
0.569700 Double
0.261721
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.970205 Double
0.575028 Double
0.258325, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.971835 Double
0.580382 Double
0.254931
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.973416 Double
0.585761 Double
0.251540, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.974947 Double
0.591165 Double
0.248151
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.976428 Double
0.596595 Double
0.244767, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.977856 Double
0.602051 Double
0.241387
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.979233 Double
0.607532 Double
0.238013, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.980556 Double
0.613039 Double
0.234646
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.981826 Double
0.618572 Double
0.231287, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.983041 Double
0.624131 Double
0.227937
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984199 Double
0.629718 Double
0.224595, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985301 Double
0.635330 Double
0.221265
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986345 Double
0.640969 Double
0.217948, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987332 Double
0.646633 Double
0.214648
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988260 Double
0.652325 Double
0.211364, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989128 Double
0.658043 Double
0.208100
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989935 Double
0.663787 Double
0.204859, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990681 Double
0.669558 Double
0.201642
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991365 Double
0.675355 Double
0.198453, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991985 Double
0.681179 Double
0.195295
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992541 Double
0.687030 Double
0.192170, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993032 Double
0.692907 Double
0.189084
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993456 Double
0.698810 Double
0.186041, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993814 Double
0.704741 Double
0.183043
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994103 Double
0.710698 Double
0.180097, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994324 Double
0.716681 Double
0.177208
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994474 Double
0.722691 Double
0.174381, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994553 Double
0.728728 Double
0.171622
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994561 Double
0.734791 Double
0.168938, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994495 Double
0.740880 Double
0.166335
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994355 Double
0.746995 Double
0.163821, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.994141 Double
0.753137 Double
0.161404
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993851 Double
0.759304 Double
0.159092, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993482 Double
0.765499 Double
0.156891
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993033 Double
0.771720 Double
0.154808, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.992505 Double
0.777967 Double
0.152855
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991897 Double
0.784239 Double
0.151042, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.991209 Double
0.790537 Double
0.149377
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.990439 Double
0.796859 Double
0.147870, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.989587 Double
0.803205 Double
0.146529
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.988648 Double
0.809579 Double
0.145357, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.987621 Double
0.815978 Double
0.144363
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.986509 Double
0.822401 Double
0.143557, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.985314 Double
0.828846 Double
0.142945
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.984031 Double
0.835315 Double
0.142528, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.982653 Double
0.841812 Double
0.142303
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.981190 Double
0.848329 Double
0.142279, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.979644 Double
0.854866 Double
0.142453
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.977995 Double
0.861432 Double
0.142808, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.976265 Double
0.868016 Double
0.143351
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.974443 Double
0.874622 Double
0.144061, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.972530 Double
0.881250 Double
0.144923
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.970533 Double
0.887896 Double
0.145919, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.968443 Double
0.894564 Double
0.147014
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.966271 Double
0.901249 Double
0.148180, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.964021 Double
0.907950 Double
0.149370
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.961681 Double
0.914672 Double
0.150520, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.959276 Double
0.921407 Double
0.151566
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.956808 Double
0.928152 Double
0.152409, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.954287 Double
0.934908 Double
0.152921
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.951726 Double
0.941671 Double
0.152925, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.949151 Double
0.948435 Double
0.152178
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.946602 Double
0.955190 Double
0.150328, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.944152 Double
0.961916 Double
0.146861
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.941896 Double
0.968590 Double
0.140956, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.940015 Double
0.975158 Double
0.131326
  ]

-- | The viridis colour map taken from https://bids.github.io/colormap/.
--   This is the default colour map.
--
-- <<diagrams/src_Plots_Style_viridisBar.svg#diagram=viridisBar&width=600>>
viridis :: ColourMap
viridis :: ColourMap
viridis = [(Rational, Colour Double)] -> ColourMap
colourMap ([(Rational, Colour Double)] -> ColourMap)
-> [(Rational, Colour Double)] -> ColourMap
forall a b. (a -> b) -> a -> b
$ [Rational] -> [Colour Double] -> [(Rational, Colour Double)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Rational
1..]
  [ Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.267004 Double
0.004874 Double
0.329415, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.268510 Double
0.009605 Double
0.335427
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.269944 Double
0.014625 Double
0.341379, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.271305 Double
0.019942 Double
0.347269
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.272594 Double
0.025563 Double
0.353093, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.273809 Double
0.031497 Double
0.358853
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.274952 Double
0.037752 Double
0.364543, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.276022 Double
0.044167 Double
0.370164
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.277018 Double
0.050344 Double
0.375715, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.277941 Double
0.056324 Double
0.381191
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.278791 Double
0.062145 Double
0.386592, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.279566 Double
0.067836 Double
0.391917
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.280267 Double
0.073417 Double
0.397163, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.280894 Double
0.078907 Double
0.402329
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.281446 Double
0.084320 Double
0.407414, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.281924 Double
0.089666 Double
0.412415
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282327 Double
0.094955 Double
0.417331, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282656 Double
0.100196 Double
0.422160
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282910 Double
0.105393 Double
0.426902, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.283091 Double
0.110553 Double
0.431554
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.283197 Double
0.115680 Double
0.436115, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.283229 Double
0.120777 Double
0.440584
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.283187 Double
0.125848 Double
0.444960, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.283072 Double
0.130895 Double
0.449241
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282884 Double
0.135920 Double
0.453427, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282623 Double
0.140926 Double
0.457517
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.282290 Double
0.145912 Double
0.461510, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.281887 Double
0.150881 Double
0.465405
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.281412 Double
0.155834 Double
0.469201, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.280868 Double
0.160771 Double
0.472899
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.280255 Double
0.165693 Double
0.476498, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.279574 Double
0.170599 Double
0.479997
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.278826 Double
0.175490 Double
0.483397, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.278012 Double
0.180367 Double
0.486697
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.277134 Double
0.185228 Double
0.489898, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.276194 Double
0.190074 Double
0.493001
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.275191 Double
0.194905 Double
0.496005, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.274128 Double
0.199721 Double
0.498911
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.273006 Double
0.204520 Double
0.501721, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.271828 Double
0.209303 Double
0.504434
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.270595 Double
0.214069 Double
0.507052, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.269308 Double
0.218818 Double
0.509577
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.267968 Double
0.223549 Double
0.512008, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.266580 Double
0.228262 Double
0.514349
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.265145 Double
0.232956 Double
0.516599, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.263663 Double
0.237631 Double
0.518762
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.262138 Double
0.242286 Double
0.520837, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.260571 Double
0.246922 Double
0.522828
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.258965 Double
0.251537 Double
0.524736, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.257322 Double
0.256130 Double
0.526563
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.255645 Double
0.260703 Double
0.528312, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.253935 Double
0.265254 Double
0.529983
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.252194 Double
0.269783 Double
0.531579, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.250425 Double
0.274290 Double
0.533103
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.248629 Double
0.278775 Double
0.534556, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.246811 Double
0.283237 Double
0.535941
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.244972 Double
0.287675 Double
0.537260, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.243113 Double
0.292092 Double
0.538516
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.241237 Double
0.296485 Double
0.539709, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.239346 Double
0.300855 Double
0.540844
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.237441 Double
0.305202 Double
0.541921, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.235526 Double
0.309527 Double
0.542944
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.233603 Double
0.313828 Double
0.543914, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.231674 Double
0.318106 Double
0.544834
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.229739 Double
0.322361 Double
0.545706, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.227802 Double
0.326594 Double
0.546532
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.225863 Double
0.330805 Double
0.547314, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.223925 Double
0.334994 Double
0.548053
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.221989 Double
0.339161 Double
0.548752, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.220057 Double
0.343307 Double
0.549413
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.218130 Double
0.347432 Double
0.550038, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.216210 Double
0.351535 Double
0.550627
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.214298 Double
0.355619 Double
0.551184, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.212395 Double
0.359683 Double
0.551710
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.210503 Double
0.363727 Double
0.552206, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.208623 Double
0.367752 Double
0.552675
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.206756 Double
0.371758 Double
0.553117, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.204903 Double
0.375746 Double
0.553533
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.203063 Double
0.379716 Double
0.553925, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.201239 Double
0.383670 Double
0.554294
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.199430 Double
0.387607 Double
0.554642, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.197636 Double
0.391528 Double
0.554969
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.195860 Double
0.395433 Double
0.555276, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.194100 Double
0.399323 Double
0.555565
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.192357 Double
0.403199 Double
0.555836, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.190631 Double
0.407061 Double
0.556089
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.188923 Double
0.410910 Double
0.556326, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.187231 Double
0.414746 Double
0.556547
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.185556 Double
0.418570 Double
0.556753, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.183898 Double
0.422383 Double
0.556944
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.182256 Double
0.426184 Double
0.557120, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.180629 Double
0.429975 Double
0.557282
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.179019 Double
0.433756 Double
0.557430, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.177423 Double
0.437527 Double
0.557565
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.175841 Double
0.441290 Double
0.557685, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.174274 Double
0.445044 Double
0.557792
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.172719 Double
0.448791 Double
0.557885, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.171176 Double
0.452530 Double
0.557965
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.169646 Double
0.456262 Double
0.558030, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.168126 Double
0.459988 Double
0.558082
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.166617 Double
0.463708 Double
0.558119, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.165117 Double
0.467423 Double
0.558141
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.163625 Double
0.471133 Double
0.558148, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.162142 Double
0.474838 Double
0.558140
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.160665 Double
0.478540 Double
0.558115, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.159194 Double
0.482237 Double
0.558073
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.157729 Double
0.485932 Double
0.558013, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.156270 Double
0.489624 Double
0.557936
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.154815 Double
0.493313 Double
0.557840, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.153364 Double
0.497000 Double
0.557724
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.151918 Double
0.500685 Double
0.557587, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.150476 Double
0.504369 Double
0.557430
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.149039 Double
0.508051 Double
0.557250, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.147607 Double
0.511733 Double
0.557049
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.146180 Double
0.515413 Double
0.556823, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.144759 Double
0.519093 Double
0.556572
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.143343 Double
0.522773 Double
0.556295, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.141935 Double
0.526453 Double
0.555991
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.140536 Double
0.530132 Double
0.555659, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.139147 Double
0.533812 Double
0.555298
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.137770 Double
0.537492 Double
0.554906, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.136408 Double
0.541173 Double
0.554483
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.135066 Double
0.544853 Double
0.554029, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.133743 Double
0.548535 Double
0.553541
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.132444 Double
0.552216 Double
0.553018, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.131172 Double
0.555899 Double
0.552459
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.129933 Double
0.559582 Double
0.551864, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.128729 Double
0.563265 Double
0.551229
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.127568 Double
0.566949 Double
0.550556, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.126453 Double
0.570633 Double
0.549841
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.125394 Double
0.574318 Double
0.549086, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.124395 Double
0.578002 Double
0.548287
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.123463 Double
0.581687 Double
0.547445, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.122606 Double
0.585371 Double
0.546557
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.121831 Double
0.589055 Double
0.545623, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.121148 Double
0.592739 Double
0.544641
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.120565 Double
0.596422 Double
0.543611, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.120092 Double
0.600104 Double
0.542530
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.119738 Double
0.603785 Double
0.541400, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.119512 Double
0.607464 Double
0.540218
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.119423 Double
0.611141 Double
0.538982, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.119483 Double
0.614817 Double
0.537692
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.119699 Double
0.618490 Double
0.536347, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.120081 Double
0.622161 Double
0.534946
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.120638 Double
0.625828 Double
0.533488, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.121380 Double
0.629492 Double
0.531973
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.122312 Double
0.633153 Double
0.530398, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.123444 Double
0.636809 Double
0.528763
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.124780 Double
0.640461 Double
0.527068, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.126326 Double
0.644107 Double
0.525311
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.128087 Double
0.647749 Double
0.523491, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.130067 Double
0.651384 Double
0.521608
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.132268 Double
0.655014 Double
0.519661, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.134692 Double
0.658636 Double
0.517649
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.137339 Double
0.662252 Double
0.515571, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.140210 Double
0.665859 Double
0.513427
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.143303 Double
0.669459 Double
0.511215, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.146616 Double
0.673050 Double
0.508936
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.150148 Double
0.676631 Double
0.506589, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.153894 Double
0.680203 Double
0.504172
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.157851 Double
0.683765 Double
0.501686, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.162016 Double
0.687316 Double
0.499129
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.166383 Double
0.690856 Double
0.496502, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.170948 Double
0.694384 Double
0.493803
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.175707 Double
0.697900 Double
0.491033, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.180653 Double
0.701402 Double
0.488189
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.185783 Double
0.704891 Double
0.485273, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.191090 Double
0.708366 Double
0.482284
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.196571 Double
0.711827 Double
0.479221, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.202219 Double
0.715272 Double
0.476084
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.208030 Double
0.718701 Double
0.472873, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.214000 Double
0.722114 Double
0.469588
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.220124 Double
0.725509 Double
0.466226, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.226397 Double
0.728888 Double
0.462789
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.232815 Double
0.732247 Double
0.459277, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.239374 Double
0.735588 Double
0.455688
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.246070 Double
0.738910 Double
0.452024, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.252899 Double
0.742211 Double
0.448284
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.259857 Double
0.745492 Double
0.444467, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.266941 Double
0.748751 Double
0.440573
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.274149 Double
0.751988 Double
0.436601, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.281477 Double
0.755203 Double
0.432552
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.288921 Double
0.758394 Double
0.428426, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.296479 Double
0.761561 Double
0.424223
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.304148 Double
0.764704 Double
0.419943, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.311925 Double
0.767822 Double
0.415586
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.319809 Double
0.770914 Double
0.411152, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.327796 Double
0.773980 Double
0.406640
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.335885 Double
0.777018 Double
0.402049, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.344074 Double
0.780029 Double
0.397381
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.352360 Double
0.783011 Double
0.392636, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.360741 Double
0.785964 Double
0.387814
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.369214 Double
0.788888 Double
0.382914, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.377779 Double
0.791781 Double
0.377939
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.386433 Double
0.794644 Double
0.372886, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.395174 Double
0.797475 Double
0.367757
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.404001 Double
0.800275 Double
0.362552, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.412913 Double
0.803041 Double
0.357269
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.421908 Double
0.805774 Double
0.351910, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.430983 Double
0.808473 Double
0.346476
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.440137 Double
0.811138 Double
0.340967, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.449368 Double
0.813768 Double
0.335384
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.458674 Double
0.816363 Double
0.329727, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.468053 Double
0.818921 Double
0.323998
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.477504 Double
0.821444 Double
0.318195, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.487026 Double
0.823929 Double
0.312321
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.496615 Double
0.826376 Double
0.306377, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.506271 Double
0.828786 Double
0.300362
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.515992 Double
0.831158 Double
0.294279, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.525776 Double
0.833491 Double
0.288127
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.535621 Double
0.835785 Double
0.281908, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.545524 Double
0.838039 Double
0.275626
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.555484 Double
0.840254 Double
0.269281, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.565498 Double
0.842430 Double
0.262877
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.575563 Double
0.844566 Double
0.256415, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.585678 Double
0.846661 Double
0.249897
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.595839 Double
0.848717 Double
0.243329, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.606045 Double
0.850733 Double
0.236712
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.616293 Double
0.852709 Double
0.230052, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.626579 Double
0.854645 Double
0.223353
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.636902 Double
0.856542 Double
0.216620, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.647257 Double
0.858400 Double
0.209861
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.657642 Double
0.860219 Double
0.203082, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.668054 Double
0.861999 Double
0.196293
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.678489 Double
0.863742 Double
0.189503, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.688944 Double
0.865448 Double
0.182725
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.699415 Double
0.867117 Double
0.175971, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.709898 Double
0.868751 Double
0.169257
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.720391 Double
0.870350 Double
0.162603, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.730889 Double
0.871916 Double
0.156029
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.741388 Double
0.873449 Double
0.149561, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.751884 Double
0.874951 Double
0.143228
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.762373 Double
0.876424 Double
0.137064, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.772852 Double
0.877868 Double
0.131109
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.783315 Double
0.879285 Double
0.125405, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.793760 Double
0.880678 Double
0.120005
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.804182 Double
0.882046 Double
0.114965, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.814576 Double
0.883393 Double
0.110347
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.824940 Double
0.884720 Double
0.106217, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.835270 Double
0.886029 Double
0.102646
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.845561 Double
0.887322 Double
0.099702, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.855810 Double
0.888601 Double
0.097452
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.866013 Double
0.889868 Double
0.095953, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.876168 Double
0.891125 Double
0.095250
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.886271 Double
0.892374 Double
0.095374, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.896320 Double
0.893616 Double
0.096335
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.906311 Double
0.894855 Double
0.098125, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.916242 Double
0.896091 Double
0.100717
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.926106 Double
0.897330 Double
0.104071, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.935904 Double
0.898570 Double
0.108131
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.945636 Double
0.899815 Double
0.112838, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.955300 Double
0.901065 Double
0.118128
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.964894 Double
0.902323 Double
0.123941, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.974417 Double
0.903590 Double
0.130215
  , Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.983868 Double
0.904867 Double
0.136897, Double -> Double -> Double -> Colour Double
forall b. (Ord b, Floating b) => b -> b -> b -> Colour b
sRGB Double
0.993248 Double
0.906157 Double
0.143936
  ]