Safe Haskell | None |
---|---|
Language | Haskell2010 |
Conversion from a chart to SVG.
Synopsis
- data ChartSvg = ChartSvg {
- svgOptions :: SvgOptions
- hudOptions :: HudOptions
- extraHuds :: [Hud]
- charts :: ChartTree
- toChartTree :: ChartSvg -> ChartTree
- writeChartSvg :: FilePath -> ChartSvg -> IO ()
- chartSvg :: ChartSvg -> Text
- initialCanvas :: ChartAspect -> ChartTree -> CanvasBox
- data SvgOptions = SvgOptions {}
- defaultSvgOptions :: SvgOptions
- data CssOptions = CssOptions {}
- defaultCssOptions :: CssOptions
- data CssShapeRendering
- data CssPreferColorScheme
- cssShapeRendering :: CssShapeRendering -> Text
- cssPreferColorScheme :: (Colour, Colour) -> CssPreferColorScheme -> Text
ChartSvg
Specification of a chart ready to be rendered to SVG includes:
- svg options
- hud options
- any extra hud elements beyond the usual options
- an underlying chart tree.
See Data.Examples for usage.
ChartSvg | |
|
Instances
Generic ChartSvg Source # | |
Semigroup ChartSvg Source # | |
Monoid ChartSvg Source # | |
type Rep ChartSvg Source # | |
Defined in Chart.Svg type Rep ChartSvg = D1 ('MetaData "ChartSvg" "Chart.Svg" "chart-svg-0.3.0-1YbRR4NHUjc7NyiG3vKerW" 'False) (C1 ('MetaCons "ChartSvg" 'PrefixI 'True) ((S1 ('MetaSel ('Just "svgOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SvgOptions) :*: S1 ('MetaSel ('Just "hudOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 HudOptions)) :*: (S1 ('MetaSel ('Just "extraHuds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Hud]) :*: S1 ('MetaSel ('Just "charts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ChartTree)))) |
toChartTree :: ChartSvg -> ChartTree Source #
chartSvg :: ChartSvg -> Text Source #
Render a chart using the supplied svg and hud config.
>>>
chartSvg mempty
"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"450.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"-0.75 -0.5 1.5 1.0\" height=\"300.0\"><style>svg {\n color-scheme: light dark;\n}\n{\n .canvas g, .title g, .axisbar g, .ticktext g, .tickglyph g, .ticklines g, .legendContent g text {\n fill: #0d0d0d;\n }\n .ticklines g, .tickglyph g, .legendBorder g {\n stroke: #0d0d0d;\n }\n .legendBorder g {\n fill: #f0f0f0;\n }\n}\n@media (prefers-color-scheme:dark) {\n .canvas g, .title g, .axisbar g, .ticktext g, .tickglyph g, .ticklines g, .legendContent g text {\n fill: #f0f0f0;\n }\n .ticklines g, .tickglyph g, .legendBorder g {\n stroke: #f0f0f0;\n }\n .legendBorder g {\n fill: #0d0d0d;\n }\n}</style><g class=\"chart\"></g><g class=\"hud\"></g></svg>"
initialCanvas :: ChartAspect -> ChartTree -> CanvasBox Source #
The initial canvas before applying Huds
>>>
initialCanvas (FixedAspect 1.5) (unnamed [RectChart defaultRectStyle [one]])
Rect -0.75 0.75 -0.5 0.5
SVG Options
data SvgOptions Source #
SVG tag options.
>>>
defaultSvgOptions
SvgOptions {svgHeight = 300.0, cssOptions = CssOptions {shapeRendering = NoShapeRendering, preferColorScheme = PreferHud, cssExtra = ""}}
Instances
Eq SvgOptions Source # | |
Defined in Chart.Svg (==) :: SvgOptions -> SvgOptions -> Bool # (/=) :: SvgOptions -> SvgOptions -> Bool # | |
Show SvgOptions Source # | |
Defined in Chart.Svg showsPrec :: Int -> SvgOptions -> ShowS # show :: SvgOptions -> String # showList :: [SvgOptions] -> ShowS # | |
Generic SvgOptions Source # | |
Defined in Chart.Svg type Rep SvgOptions :: Type -> Type # from :: SvgOptions -> Rep SvgOptions x # to :: Rep SvgOptions x -> SvgOptions # | |
type Rep SvgOptions Source # | |
Defined in Chart.Svg type Rep SvgOptions = D1 ('MetaData "SvgOptions" "Chart.Svg" "chart-svg-0.3.0-1YbRR4NHUjc7NyiG3vKerW" 'False) (C1 ('MetaCons "SvgOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "svgHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Double) :*: S1 ('MetaSel ('Just "cssOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CssOptions))) |
defaultSvgOptions :: SvgOptions Source #
The official svg options
SVG Style primitives
data CssOptions Source #
css options
>>>
defaultCssOptions
CssOptions {shapeRendering = NoShapeRendering, preferColorScheme = PreferHud, cssExtra = ""}
Instances
defaultCssOptions :: CssOptions Source #
No special shape rendering and default hud responds to user color scheme preferences.
data CssShapeRendering Source #
CSS shape rendering options
Instances
Eq CssShapeRendering Source # | |
Defined in Chart.Svg (==) :: CssShapeRendering -> CssShapeRendering -> Bool # (/=) :: CssShapeRendering -> CssShapeRendering -> Bool # | |
Show CssShapeRendering Source # | |
Defined in Chart.Svg showsPrec :: Int -> CssShapeRendering -> ShowS # show :: CssShapeRendering -> String # showList :: [CssShapeRendering] -> ShowS # | |
Generic CssShapeRendering Source # | |
Defined in Chart.Svg type Rep CssShapeRendering :: Type -> Type # from :: CssShapeRendering -> Rep CssShapeRendering x # to :: Rep CssShapeRendering x -> CssShapeRendering # | |
type Rep CssShapeRendering Source # | |
Defined in Chart.Svg type Rep CssShapeRendering = D1 ('MetaData "CssShapeRendering" "Chart.Svg" "chart-svg-0.3.0-1YbRR4NHUjc7NyiG3vKerW" 'False) (C1 ('MetaCons "UseGeometricPrecision" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UseCssCrisp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoShapeRendering" 'PrefixI 'False) (U1 :: Type -> Type))) |
data CssPreferColorScheme Source #
CSS prefer-color-scheme options
PreferHud | includes css that switches approriate hud elements between light and dark. |
PreferDark | |
PreferLight | |
PreferNormal |
Instances
cssShapeRendering :: CssShapeRendering -> Text Source #
CSS shape rendering text snippet
cssPreferColorScheme :: (Colour, Colour) -> CssPreferColorScheme -> Text Source #
CSS prefer-color-scheme text snippet