[{"name":"Chart.Bar","comment":" This is the bar chart module from [elm-chart-builder](https://github.com/data-viz-lab/elm-chart-builder).\n\nThe Bar module expects the X axis to plot ordinal data and the Y axis to plot continuous data. The data can be grouped by passing an `xGroup` accessor, or it can be flat by making the accessor `always Nothing`.\n\nThe X and Y axis are determined by the default vertical orientation. If the orientatin changes, X and Y also change.\n\n\n# Data Format\n\n@docs Accessor\n\n\n# Initialization\n\n@docs init\n\n\n# Rendering\n\n@docs render\n\n\n# Configuration\n\n@docs Config, RequiredConfig\n\n\n# Optional Configuration Setters\n\n@docs withBarStyle, withBarStyleFrom, withColorInterpolator, withColorPalette, withColumnTitle, withDesc, withGroupedLayout, withLabels, withLogYScale, withOrientation, withStackedLayout, withSymbols, withoutTable, withTitle, withXDomain, withXGroupDomain, withXLabels, withYDomain\n\n\n# Axis\n\n&#9888; axisLeft & axisRight apply to a vertical chart context. If you change the chart orientation to horizontal, the axis positioning will always change to bottom.\n\n@docs XAxis, YAxis, axisBottom, axisTop, axisGrid, axisLeft, axisRight, hideAxis, hideXAxis, hideYAxis, withXAxis, withYAxis\n\n\n# Configuration arguments\n\n@docs diverging, horizontal, noDirection, stackedColumnTitle, vertical, xOrdinalColumnTitle, yColumnTitle, yLabel, xLabel, xGroupLabel\n\n","unions":[],"aliases":[{"name":"Accessor","comment":" The data accessors\n","args":["data"],"type":"{ xGroup : data -> Maybe.Maybe String.String, xValue : data -> String.String, yValue : data -> Basics.Float }"},{"name":"Config","comment":" The Config opaque type\n","args":[],"type":"Chart.Internal.Type.Config"},{"name":"RequiredConfig","comment":" The required config, passed as an argument to the `init` function\n","args":[],"type":"Chart.Internal.Type.RequiredConfig"},{"name":"XAxis","comment":" The XAxis type\n","args":["value"],"type":"Chart.Internal.Axis.XAxis value"},{"name":"YAxis","comment":" The YAxis type\n","args":["value"],"type":"Chart.Internal.Axis.YAxis value"}],"values":[{"name":"axisBottom","comment":" It returns an XAxis Bottom type\n\n    Bar.axisBottom [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.XAxis value"},{"name":"axisGrid","comment":" It returns an YAxis Grid type\n\n    Bar.axisGrid [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisLeft","comment":" It returns an YAxis Left type\n\nOnly relevant if the chart orientation is vertical.\n\n    Bar.axisLeft [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisRight","comment":" It returns an YAxis Right type\n\nOnly relevant if the chart orientation is vertical.\n\n    Bar.axisRight [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisTop","comment":" It returns an XAxis Top type\n\n    Bar.axisTop [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.XAxis value"},{"name":"diverging","comment":" Diverging layout for stacked bar charts.\n\nAn example can be a population pyramid chart.\n\n    Bar.init requiredConfig\n        |> Bar.withStackedLayout Bar.diverging\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Direction"},{"name":"hideAxis","comment":" Hide all axis.\n\n    Bar.init requiredConfig\n        |> Bar.hideAxis\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"hideXAxis","comment":" Hide the X aixs.\n\nThe X axis depends from the layout:\n\n  - With a vertical layout the X axis is the horizontal axis.\n\n  - With a horizontal layout the X axis is the vertical axis.\n\n```\nBar.init requiredConfig\n    |> Bar.hideXAxis\n    |> Bar.render ( data, accessor )\n```\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"hideYAxis","comment":" Hide the Y aixs.\n\nThe Y axis depends from the layout:\n\n  - With a vertical layout the Y axis is the vertical axis.\n\n  - With a horizontal layout the Y axis is the horizontal axis.\n\n```\nBar.init requiredConfig\n    |> Bar.hideYAxis\n    |> Bar.render ( data, accessor )\n```\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"horizontal","comment":" Horizontal layout type.\n\nUsed as argument to `Bar.withOrientation`.\n\n    Bar.init requiredConfig\n        |> Bar.withOrientation horizontal\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation"},{"name":"init","comment":" Initializes the bar chart with the required config.\n\n    data :\n        List\n            { groupLabel : String\n            , x : String\n            , y : Float\n            }\n    data =\n        [ { groupLabel = \"A\"\n          , x = \"a\"\n          , y = 10\n          }\n        , { groupLabel = \"B\"\n          , x = \"a\"\n          , y = 11\n          }\n        ]\n\n    accessor :\n        Bar.Accessor\n            { groupLabel : String\n            , x : String\n            , y : Float\n            }\n    accessor =\n        Bar.Accessor .groupLabel .x .y\n\n    Bar.init\n        { margin =\n            { top = 10\n            , right = 10\n            , bottom = 30\n            , left = 30\n            }\n        , width = 500\n        , height = 200\n        }\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Bar.RequiredConfig -> Chart.Bar.Config"},{"name":"noDirection","comment":" Default layout for stacked bar charts, where the bars are sequentially stacked\none upon another.\n\n    Bar.init requiredConfig\n        |> Bar.withStackedLayout Bar.noDirection\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Direction"},{"name":"render","comment":" Renders the bar chart, after initialisation and optional customisations.\n\n    Bar.init requiredConfig\n        |> Bar.render ( data, accessor )\n\n","type":"( List.List data, Chart.Bar.Accessor data ) -> Chart.Bar.Config -> Html.Html msg"},{"name":"stackedColumnTitle","comment":" ","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.ColumnTitle"},{"name":"vertical","comment":" Vertical layout type.\n\nUsed as argument to `Bar.withOrientation`.\nThis is the default layout.\n\n    Bar.init requiredConfig\n        |> Bar.withOrientation vertical\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation"},{"name":"withBarStyle","comment":" Sets the style for the bars\nThe styles set here have precedence over `withColorPalette`, `withColorInterpolator` and css.\n\n    Bar.init requiredConfig\n        |> Bar.withBarStyle [ ( \"fill\", \"none\" ), ( \"stroke-width\", \"2\" ) ]\n        |> Bar.render ( data, accessor )\n\n","type":"List.List ( String.String, String.String ) -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withBarStyleFrom","comment":" Sets the style for the bars depending on the x value\nThe styles set here have precedence over `withBarStyle`, `withColorPalette`, `withColorInterpolator` and css.\n\n    Bar.init requiredConfig\n        |> Bar.withBarStyleFrom\n            (\\xValue ->\n                if xValue == \"X\" then\n                    [ ( \"fill\", \"none\" ), ( \"stroke-width\", \"2\" ) ]\n\n                else\n                    []\n            )\n        |> Bar.render ( data, accessor )\n\n","type":"(String.String -> List.List ( String.String, String.String )) -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withColorInterpolator","comment":" Sets the color interpolator for the chart.\n\nThis option is not supported for stacked bar charts and will have no effect on them.\n\n    Bar.init requiredConfig\n        |> Bar.withColorInterpolator Scale.Color.plasmaInterpolator\n        |> Bar.render ( data, accessor )\n\n","type":"(Basics.Float -> Color.Color) -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withColorPalette","comment":" Sets the color palette for the chart.\nIf a palette with a single color is passed all bars will have the same colour.\nIf the bars in a group are more then the colours in the palette, the colours will be repeted.\n\n    palette =\n        Scale.Color.tableau10\n\n    Bar.init requiredConfig\n        |> Bar.withColorPalette palette\n        |> Bar.render (data, accessor)\n\n","type":"List.List Color.Color -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withColumnTitle","comment":" Set the chart columns title value\n\nIt takes one of: stackedColumnTitle, xOrdinalColumnTitle, yColumnTitle\n\n    defaultLayoutConfig\n        |> Bar.withColumnTitle (Bar.yColumnTitle String.fromFloat)\n\n","type":"Chart.Internal.Type.ColumnTitle -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withDesc","comment":" Sets an accessible, long-text description for the svg chart.\n\nIt defaults to an empty string.\nThis shuld be set if no title nor description exists for the chart, for example in a sparkline.\n\n    Bar.init requiredConfig\n        |> Bar.withDesc \"This is an accessible chart, with a desc element\"\n        |> Bar.render ( data, accessor )\n\n","type":"String.String -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withGroupedLayout","comment":" Creates a grouped bar chart.\n\n    Bar.init requiredConfig\n        |> Bar.withGroupedLayout\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withLabels","comment":" Show a label at the end of the bars.\n\nIt takes one of: yLabel, xLabel, xGroupLabel\n\nIf used together with symbols, the label will be drawn after the symbol.\n\n&#9888; Use with caution, there is no knowledge of text wrapping!\n\n    defaultLayoutConfig\n        |> Bar.withLabels (Bar.yLabel String.fromFloat)\n\n","type":"Chart.Internal.Type.Label -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withLogYScale","comment":" Set the Y scale to logaritmic, passing a base\n\n    Bar.init requiredConfig\n        |> Bar.withLogYScale 10\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withOrientation","comment":" Sets the orientation value.\n\nAccepts: `horizontal` or `vertical`.\nDefault value: `vertical`.\n\n    Bar.init requiredConfig\n        |> Bar.withOrientation Bar.horizontal\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withStackedLayout","comment":" Creates a stacked bar chart.\nStacked Charts do not support symbols.\n\nIt takes a direction: `diverging` or `noDirection`.\n\n    Bar.init requiredConfig\n        |> Bar.withStackedLayout Bar.diverging\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Direction -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withSymbols","comment":" Pass a list of symbols to be rendered at the end of the bars.\n\nDefault value: []\n\nUsefull for facilitating accessibility.\n\n    Bar.init requiredConfig\n        |> withSymbols [ Circle, Corner, Triangle ]\n        |> Bar.render ( data, accessor )\n\n","type":"List.List Chart.Internal.Symbol.Symbol -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withTitle","comment":" Sets an accessible title for the whole svg chart.\n\nIt defaults to an empty string.\nThis shuld be set if no title nor description exists for the chart, for example in a sparkline.\n\n    Bar.init requiredConfig\n        |> Bar.withTitle \"This is a chart\"\n        |> Bar.render ( data, accessor )\n\n","type":"String.String -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withXAxis","comment":" Customise the xAxis\n\n    Bar.init requiredConfig\n        |> Bar.withXAxis (Bar.axisBottom [ Axis.tickCount 5 ])\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.XAxis String.String -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withXDomain","comment":" Sets the band domain explicitly. The data relates to the `xValue` accessor.\n\n    Bar.init requiredConfig\n        |> Bar.withXDomain [ \"a\", \"b\" ]\n        |> Bar.render ( data, accessor )\n\n","type":"List.List String.String -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withXGroupDomain","comment":" Sets the group band domain explicitly. The group data relates to the `xGoup` accessor.\n\n    Bar.init requiredConfig\n        |> Bar.withXGroupDomain [ \"0\" ]\n        |> Bar.render ( data, accessor )\n\n","type":"List.List String.String -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withXLabels","comment":" Show the X ordinal values at the end of the bars.\n\nIf used together with symbols, the label will be drawn on top of the symbol.\n\n&#9888; Use with caution, there is no knowledge of text wrapping!\n\n    Bar.init requiredConfig\n        |> Bar.withXLabels\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withYAxis","comment":" Customise the yAxis\n\n    Bar.init requiredConfig\n        |> Bar.withYAxis (Bar.axisRight [ Axis.tickCount 5 ])\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.YAxis Basics.Float -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withYDomain","comment":" Sets the continuous domain explicitly. The data relates to the `yValue` accessor.\n\n    Bar.init requiredConfig\n        |> Bar.withYDomain ( 0, 0.55 )\n        |> Bar.render ( data, accessor )\n\n","type":"( Basics.Float, Basics.Float ) -> Chart.Bar.Config -> Chart.Bar.Config"},{"name":"withoutTable","comment":" Do **not** build an alternative table content for accessibility\n\n&#9888; By default an alternative table is always being rendered.\nUse this option to not build the table.\n\n    Bar.init requiredConfig\n        |> Bar.withoutTable\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Bar.Config -> Chart.Bar.Config"},{"name":"xGroupLabel","comment":" ","type":"Chart.Internal.Type.Label"},{"name":"xLabel","comment":" ","type":"Chart.Internal.Type.Label"},{"name":"xOrdinalColumnTitle","comment":" ","type":"Chart.Internal.Type.ColumnTitle"},{"name":"yColumnTitle","comment":" ","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.ColumnTitle"},{"name":"yLabel","comment":" ","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.Label"}],"binops":[]},{"name":"Chart.HistogramBar","comment":" This is the histogram chart module from [elm-chart-builder](https://github.com/data-viz-lab/elm-chart-builder).\n\nThe histogram bar chart can both generate the histogram data automatically or accept preprocessed data.\n\n\n# Data Accessors\n\n@docs dataAccessor, preProcessedDataAccessor\n\n\n# Chart Initialization\n\n@docs init\n\n\n# Chart Rendering\n\n@docs render\n\n\n# Configuration\n\n@docs Config, RequiredConfig\n\n\n# Configuration setters\n\n@docs withBarStyle, withColor, withColumnTitle, withDesc, withDomain, withoutTable, withTitle\n\n\n# Axis\n\n@docs XAxis, YAxis, axisBottom, axisLeft, axisRight, hideAxis, hideXAxis, hideYAxis, withXAxis, withYAxis\n\n\n# Configuration arguments\n\n@docs yColumnTitle\n\n","unions":[],"aliases":[{"name":"Config","comment":" The Config opaque type\n","args":[],"type":"Chart.Internal.Type.Config"},{"name":"RequiredConfig","comment":" The required config, passed as an argument to the `init` function\n","args":[],"type":"{ margin : Chart.Internal.Type.Margin, width : Basics.Float, height : Basics.Float }"},{"name":"XAxis","comment":" The XAxis type\n","args":["value"],"type":"Chart.Internal.Axis.XAxis value"},{"name":"YAxis","comment":" The YAxis type\n","args":["value"],"type":"Chart.Internal.Axis.YAxis value"}],"values":[{"name":"axisBottom","comment":" It returns an XAxis Bottom type\n\n    Histo.axisBottom [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.XAxis value"},{"name":"axisLeft","comment":" A YAxis Left type\n\n    Histo.axisLeft [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisRight","comment":" It returns an YAxis Right type\n\n    Histo.axisRight [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"dataAccessor","comment":" The data accessor for generating a histogram.\nIt takes a config that is separate from the general config,\nbecause it is only used when generating a histogram and not for bucketed pre-processed data.\n\n    steps : Steps\n    steps =\n        [ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ]\n\n    dataAccessor =\n        Histo.dataAccessor steps accessor\n\n","type":"Chart.HistogramBar.Steps -> (data -> Basics.Float) -> Chart.Internal.Type.AccessorHistogram data"},{"name":"hideAxis","comment":" Hide all axis.\n\n    Histo.init requiredConfig\n        |> Histo.hideAxis\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"hideXAxis","comment":" Hide the X aixs.\n\n    Histo.init requiredConfig\n        |> Histo.hideXAxis\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"hideYAxis","comment":" Hide the Y aixs.\n\n    Histo.init requiredConfig\n        |> Histo.hideYAxis\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"init","comment":" Initializes the histogram bar chart with a default config.\n\n    Histo.init requiredConfig\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.HistogramBar.RequiredConfig -> Chart.HistogramBar.Config"},{"name":"preProcessedDataAccessor","comment":" The data accessor for generating a histogram from pre-processed data.\nMeaning the data has already been bucketed and counted.\n`values` here is not used and always passed as an empty array.\n\n    preProcessedDataAccessor =\n        Histo.preProcessedDataAccessor\n            (\\d ->\n                { x0 = d.bucket\n                , x1 = d.bucket + 0.1\n                , values = []\n                , length = d.count\n                }\n            )\n\n","type":"(data -> Histogram.Bin Basics.Float Basics.Float) -> Chart.Internal.Type.AccessorHistogram data"},{"name":"render","comment":" Renders the histogram\n\n    Histo.init requiredConfig\n        |> Histo.render ( data, accessor )\n\n","type":"( List.List data, Chart.Internal.Type.AccessorHistogram data ) -> Chart.HistogramBar.Config -> Html.Html msg"},{"name":"withBarStyle","comment":" Sets the style for the bars\nThe styles set here have precedence over css.\n\n    Histo.init requiredConfig\n        |> Histo.withBarStyle [ ( \"fill\", \"none\" ), ( \"stroke-width\", \"2\" ) ]\n        |> Histo.render ( data, accessor )\n\n","type":"List.List ( String.String, String.String ) -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withColor","comment":" Set the histogram color\n\n    Histo.init requiredConfig\n        |> Histo.withColor (Color.rgb255 240 59 32)\n        |> Histo.render ( data, accessor )\n\n","type":"Color.Color -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withColumnTitle","comment":" Set the chart columns title value\n\nIt takes one of: yColumnTitle\n\nIt takes a formatter function.\n\n    defaultLayoutConfig\n        |> Bar.withColumnTitle (Bar.yColumnTitle String.fromFloat)\n\n","type":"Chart.Internal.Type.ColumnTitle -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withDesc","comment":" Sets an accessible, long-text description for the svg chart.\nDefault value: \"\"\n\n    Histo.init requiredConfig\n        |> Histo.withDesc \"This is an accessible chart, with a desc element\"\n        |> Histo.render ( data, accessor )\n\n","type":"String.String -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withDomain","comment":" Set the domain for the HistogramGenerator.\nAll values falling outside the domain will be ignored.\n\n    Histo.init requiredConfig\n        |> Histo.withDomain ( 0, 1 )\n        |> Histo.render ( data, accessor )\n\n","type":"( Basics.Float, Basics.Float ) -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withTitle","comment":" Sets an accessible title for the svg chart.\nDefault value: \"\"\n\n    Histo.init requiredConfig\n        |> Histo.withTitle \"This is a chart\"\n        |> Histo.render ( data, accessor )\n\n","type":"String.String -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withXAxis","comment":" Customise the xAxis\n\n    Histo.init requiredConfig\n        |> Histo.withXAxis (Histo.axisBottom [ Axis.tickCount 5 ])\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.XAxis Basics.Float -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withYAxis","comment":" Customise the yAxis\n\n    Histo.init requiredConfig\n        |> Histo.withYAxis (Histo.axisRight [ Axis.tickCount 5 ])\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.YAxis Basics.Float -> Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"withoutTable","comment":" Do **not** build an alternative table content for accessibility\n\n&#9888; By default an alternative table is always being rendered.\nUse this option to not build the table.\n\n    Histo.init requiredConfig\n        |> Histo.withoutTable\n        |> Histo.render ( data, accessor )\n\n","type":"Chart.HistogramBar.Config -> Chart.HistogramBar.Config"},{"name":"yColumnTitle","comment":" ","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.ColumnTitle"}],"binops":[]},{"name":"Chart.Line","comment":" This is the line chart module from [elm-chart-builder](https://github.com/data-viz-lab/elm-chart-builder).\n\nIt expects the X axis to plot time or continuous data and the Y axis to plot continuous data.\n\n\n# Chart Data Format\n\n@docs Accessor, AccessorContinuous, AccessorTime, continuous, time\n\n\n# Chart Initialization\n\n@docs init\n\n\n# Chart Rendering\n\n@docs render\n\n\n# Configuration\n\n@docs Config, RequiredConfig\n\n\n# Optional Configuration setters\n\n@docs withColorPalette, withCurve, withDesc, withLabels, withGroupedLayout, withLineStyle, withoutTable, withStackedLayout, withTitle, withXContinuousDomain, withXTimeDomain, withYDomain, withLogYScale\n\n\n# Axis\n\n@docs XAxis, YAxis, hideAxis, hideXAxis, hideYAxis, withXAxisContinuous, withXAxisTime, withYAxis\n\n@docs withSymbols\n\n\n# Configuration arguments\n\n@docs axisBottom, axisGrid, axisLeft, axisRight, xGroupLabel, drawArea, drawLine\n\n","unions":[],"aliases":[{"name":"Accessor","comment":" The data accessors\n\nA line chart can have the X axis as continuous or time data.\n\n    type Accessor data\n        = AccessorContinuous (accessorContinuous data)\n        | AccessorTime (accessorTime data)\n\n","args":["data"],"type":"Chart.Internal.Type.AccessorContinuousOrTime data"},{"name":"AccessorContinuous","comment":" The accessor structure for x continuous lines.\n","args":["data"],"type":"{ xGroup : data -> Maybe.Maybe String.String, xValue : data -> Basics.Float, yValue : data -> Basics.Float }"},{"name":"AccessorTime","comment":" The accessor structure for x time lines.\n","args":["data"],"type":"{ xGroup : data -> Maybe.Maybe String.String, xValue : data -> Time.Posix, yValue : data -> Basics.Float }"},{"name":"Config","comment":" The Config opaque type\n","args":[],"type":"Chart.Internal.Type.Config"},{"name":"RequiredConfig","comment":" The required config, passed as an argument to the `init` function\n","args":[],"type":"Chart.Internal.Type.RequiredConfig"},{"name":"XAxis","comment":" The XAxis type\n","args":["value"],"type":"Chart.Internal.Axis.XAxis value"},{"name":"YAxis","comment":" The YAxis type\n","args":["value"],"type":"Chart.Internal.Axis.YAxis value"}],"values":[{"name":"axisBottom","comment":" It returns an XAxis bottom type\n\n    Line.axisBottom [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.XAxis value"},{"name":"axisGrid","comment":" It returns an YAxis Grid type\n\n    Line.axisGrid [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisLeft","comment":" It returns an YAxis Left type\n\n    Line.axisLeft [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"axisRight","comment":" It returns an YAxis right type\n\n    Line.axisRight [ Axis.tickCount 5 ]\n\n","type":"List.List (Axis.Attribute value) -> Chart.Internal.Axis.YAxis value"},{"name":"continuous","comment":" The accessor constructor for x continuous lines.\n\n    Line.continuous (Line.AccessorContinuous .groupLabel .x .y)\n\n","type":"Chart.Internal.Type.AccessorContinuousStruct data -> Chart.Line.Accessor data"},{"name":"drawArea","comment":"\n\n    TODO\n\n","type":"(List.List (List.List ( Basics.Float, Basics.Float )) -> List.List (List.List ( Basics.Float, Basics.Float ))) -> Chart.Internal.Type.LineDraw"},{"name":"drawLine","comment":"\n\n    TODO\n\n","type":"Chart.Internal.Type.LineDraw"},{"name":"hideAxis","comment":" Hide all axis\n\n    Line.init requiredConfig\n        |> Line.hideAxis\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Line.Config -> Chart.Line.Config"},{"name":"hideXAxis","comment":" Hide the X aixs\n\nThe X axis depends from the layout:\nWith a vertical layout the X axis is the horizontal axis.\nWith a horizontal layout the X axis is the vertical axis.\n\n    Line.init requiredConfig\n        |> Line.hideXAxis\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Line.Config -> Chart.Line.Config"},{"name":"hideYAxis","comment":" Hide the Y aixs\n\nThe Y axis depends from the layout:\nWith a vertical layout the Y axis is the vertical axis.\nWith a horizontal layout the Y axis is the horizontal axis.\n\n    Line.init\n        { margin = margin\n        , width = width\n        , height = height\n        }\n        |> Line.hideYAxis\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Line.Config -> Chart.Line.Config"},{"name":"init","comment":" Initializes the line chart with a default config\n\n    data : List Data\n    data =\n        [ { groupLabel = \"A\"\n          , x = Time.millisToPosix 1579275175634\n          , y = 10\n          }\n        , { groupLabel = \"A\"\n          , x = Time.millisToPosix 1579285175634\n          , y = 16\n          }\n        , { groupLabel = \"B\"\n          , x = Time.millisToPosix 1579275175634\n          , y = 13\n          }\n        , { groupLabel = \"B\"\n          , x = Time.millisToPosix 1579285175634\n          , y = 23\n          }\n        ]\n\n    accessor : Line.Accessor data\n    accessor =\n        Line.time (Line.accessorTime .groupLabel .x .y)\n\n    Line.init\n        { margin =\n            { top = 10\n            , right = 10\n            , bottom = 30\n            , left = 30\n            }\n        , width = 500\n        , height = 200\n        }\n        |> Line.render (data, accessor)\n\n","type":"Chart.Line.RequiredConfig -> Chart.Line.Config"},{"name":"render","comment":" Renders the line chart, after initialisation and customisation\n\n    Line.init requiredConfig\n        |> Line.render ( data, accessor )\n\n","type":"( List.List data, Chart.Line.Accessor data ) -> Chart.Line.Config -> Html.Html msg"},{"name":"time","comment":" The accessor constructor for x time lines.\n\n    Line.time (Line.AccessorTime .groupLabel .x .y)\n\n","type":"Chart.Internal.Type.AccessorTimeStruct data -> Chart.Line.Accessor data"},{"name":"withColorPalette","comment":" Sets the color palette for the chart.\n\n    palette =\n        -- From elm-visualization\n        Scale.Color.tableau10\n\n    Line.init requiredConfig\n        |> Line.withColorPalette palette\n        |> Line.render (data, accessor)\n\n","type":"List.List Color.Color -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withCurve","comment":" Sets the line curve shape\n\nDefaults to `Shape.continuousCurve`\n\nSee [elm-visualization/latest/Shape](https://package.elm-lang.org/packages/gampleman/elm-visualization/latest/Shape)\nfor more info.\n\n    Line.init requiredConfig\n        |> Line.withCurve Shape.monotoneInXCurve\n        |> Line.render ( data, accessor )\n\n","type":"(List.List ( Basics.Float, Basics.Float ) -> SubPath.SubPath) -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withDesc","comment":" Sets an accessible, long-text description for the svg chart.\n\nIt defaults to an empty string.\nThis shuld be set if no title nor description exists for the chart, for example in a sparkline.\n\n    Line.init requiredConfig\n        |> Line.withDesc \"This is an accessible chart\"\n        |> Line.render ( data, accessor )\n\n","type":"String.String -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withGroupedLayout","comment":" Creates a grouped line chart.\n\n    Line.init requiredConfig\n        |> Line.withGroupedLayout\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Line.Config -> Chart.Line.Config"},{"name":"withLabels","comment":" Show a label at the end of the lines.\n\nIt takes one of: xGroupLabel\n\n&#9888; Use with caution, there is no knowledge of text wrapping!\n\n    defaultLayoutConfig\n        |> Line.withLabels Line.xGroupLabel\n\n","type":"Chart.Internal.Type.Label -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withLineStyle","comment":" Sets the style for the lines\nThe styles set here have precedence over `withColorPalette` and css.\n\n    Line.init requiredConfig\n        |> Line.withLineStyle [ ( \"stroke-width\", \"2\" ) ]\n        |> Line.render ( data, accessor )\n\n","type":"List.List ( String.String, String.String ) -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withLogYScale","comment":" Set the Y scale to logaritmic, passing a base\n\n    Line.init requiredConfig\n        |> Line.withLogYScale 10\n        |> Line.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withStackedLayout","comment":" Creates a stacked line chart.\n\nIt takes a direction: `diverging` or `noDirection`\n\n    Line.init requiredConfig\n        |> Line.withStackedLayout\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Internal.Type.LineDraw -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withSymbols","comment":" Pass a list of symbols to the line chart, one per data group.\nIf the list is empty, no symbols are rendered.\n\nDefault value: []\n\n    defaultLayoutConfig\n        |> withSymbols [ Circle, Corner, Triangle ]\n\n","type":"List.List Chart.Internal.Symbol.Symbol -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withTitle","comment":" Sets an accessible title for the svg chart.\n\nIt defaults to an empty string.\nThis shuld be set if no title nor description exists for the chart, for example in a sparkline.\n\n    Line.init required\n        |> Line.withTitle \"Line chart\"\n        |> Line.render ( data, accessor )\n\n","type":"String.String -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withXAxisContinuous","comment":" Customise the continuous xAxis\n\n    Line.init requiredConfig\n        |> Line.withXAxisContinuous (Line.axisBottom [ Axis.tickCount 5 ])\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.XAxis Basics.Float -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withXAxisTime","comment":" Customise the time xAxis\n\n    Line.init requiredConfig\n        |> Line.withXAxisTime (Line.axisBottom [ Axis.tickCount 5 ])\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.XAxis Time.Posix -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withXContinuousDomain","comment":" Sets the Y domain of a continuous line chart\n\nIf not set, the domain is calculated from the data.\nIf set on a continuous line chart this setting will have no effect.\n\n    Line.init requiredConfig\n        |> Line.withXContinuousDomain ( 0, 10 )\n        |> Line.render ( data, accessor )\n\n","type":"( Basics.Float, Basics.Float ) -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withXTimeDomain","comment":" Sets the Y domain of a time line chart\n\nIf not set, the domain is calculated from the data.\nIf set on a continuous line chart this setting will have no effect.\n\n    Line.init requiredConfig\n        |> Line.withXTimeDomain ( Time.millisToPosix 1579275175634, 10 )\n        |> Line.render ( data, accessor )\n\n","type":"( Time.Posix, Time.Posix ) -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withYAxis","comment":" Customise the yAxis\n\n    Line.init requiredConfig\n        |> Line.withYAxis (Line.axisRight [ Axis.tickCount 5 ])\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Internal.Axis.YAxis Basics.Float -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withYDomain","comment":" Sets the Y domain of a line chart\n\nThis is always a continuous domain, not a time domain.\nIf not set, the domain is calculated from the data.\nIf set on a continuous line chart this setting will have no effect.\n\n    Line.init required\n        |> Line.withYDomain ( Time.millisToPosix 1579275175634, Time.millisToPosix 1579375175634 )\n        |> Line.render ( data, accessor )\n\n","type":"( Basics.Float, Basics.Float ) -> Chart.Line.Config -> Chart.Line.Config"},{"name":"withoutTable","comment":" Do **not** build an alternative table content for accessibility\n\n&#9888; By default an alternative table is always being rendered.\nUse this option to not build the table.\n\n    Line.init requiredConfig\n        |> Line.withoutTable\n        |> Line.render ( data, accessor )\n\n","type":"Chart.Line.Config -> Chart.Line.Config"},{"name":"xGroupLabel","comment":" ","type":"Chart.Internal.Type.Label"}],"binops":[]},{"name":"Chart.Symbol","comment":" Symbols can be added to charts to improve understanding and accessibility.\nCurrently stacked bar charts do not support symbols.\n\n\n# Symbols\n\n@docs Symbol\n@docs circle, corner, custom, triangle\n\n\n# Required Configuration for custom symbols\n\n@docs RequiredCustomConfig\n\n\n# Customisation\n\n@docs withGap, withIdentifier, withSize, withStyle\n\n","unions":[],"aliases":[{"name":"RequiredCustomConfig","comment":" The required configuration for the custom symbol.\n\n`viewBoxDimensions` is a tuple with viewBox width and height. These values are usually copied from the 3rd and 4th arguments of the viewBox attribute on the svg icon.\n\n`paths` is a list of strings for the d attribute of an svg path element.\n\n","args":[],"type":"{ viewBoxDimensions : ( Basics.Float, Basics.Float ), paths : List.List String.String }"},{"name":"Symbol","comment":" The Symbol type\n","args":[],"type":"Chart.Internal.Symbol.Symbol"}],"values":[{"name":"circle","comment":" A circle symbol type\n\n    symbol : Symbol\n    symbol =\n        Symbol.circle\n\n","type":"Chart.Symbol.Symbol"},{"name":"corner","comment":" A corner symbol type\n\n    symbol : Symbol\n    symbol =\n        Symbol.corner\n\n","type":"Chart.Symbol.Symbol"},{"name":"custom","comment":" A custom symbol type\n\n    symbol =\n    Symbol.custom\n    { viewBoxDimensions = ( 640, 512 )\n    , paths = [ bicycleSymbol ]\n    }\n\n","type":"Chart.Symbol.RequiredCustomConfig -> Chart.Symbol.Symbol"},{"name":"triangle","comment":" A triangle symbol type\n\n    symbol : Symbol\n    symbol =\n        Symbol.triangle\n\n","type":"Chart.Symbol.Symbol"},{"name":"withGap","comment":" Sets the useGap boolean flag. It defaults to True.\nOnly for custom symbols on bar charts, where icons are drawn with a gap from the bar rectangles.\nBeware that, depending on the custom icon shape and on the orientation of the chart,\nthe icon could already have a gap and we do not want to add other space.\n\n    symbol : Bool -> Symbol -> Symbol\n    symbol =\n        Symbol.triangle\n            |> Symbol.withGap False\n\n","type":"Basics.Bool -> Chart.Symbol.Symbol -> Chart.Symbol.Symbol"},{"name":"withIdentifier","comment":" Sets the symbol identifier used in the [xlink:href](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href)\nIt can be omitted if the page has only one chart.\n\n    symbol : String -> Symbol -> Symbol\n    symbol =\n        Symbol.triangle\n            |> Symbol.withIdentifier \"chart-a-triangle-symbol\"\n\n","type":"String.String -> Chart.Symbol.Symbol -> Chart.Symbol.Symbol"},{"name":"withSize","comment":" Sets the size of the built-in symbols\nIt has no effect on custom symbols.\n\n    symbol : Float -> Symbol -> Symbol\n    symbol =\n        Symbol.triangle\n            |> Symbol.withSize\n\n","type":"Basics.Float -> Chart.Symbol.Symbol -> Chart.Symbol.Symbol"},{"name":"withStyle","comment":" Sets additional styles to symbol\nThe style precedence is: withStyle, withColor in the chart config, css rules.\nSo passing a color style here will override the chart and css color rules.\nThere is no compiler level validation here, any tuple of strings can be passed and if invalid will be ignored.\n\n    symbol : List ( String, String ) -> Symbol -> Symbol\n    symbol =\n        Symbol.triangle\n            |> Symbol.withStyle [ ( \"fill\", \"none\" ) ]\n\n","type":"List.List ( String.String, String.String ) -> Chart.Symbol.Symbol -> Chart.Symbol.Symbol"}],"binops":[]}]