Safe Haskell | None |
---|---|
Language | Haskell2010 |
Chart.Bar
Description
bar charts
- data BarOptions = BarOptions {}
- data BarValueAcc
- data BarData = BarData {
- barData :: [[Double]]
- barRowLabels :: Maybe [Text]
- barColumnLabels :: Maybe [Text]
- barDataLowerUpper :: BarValueAcc -> [[Double]] -> [[(Double, Double)]]
- barRange :: [[Double]] -> Rect Double
- barChart :: BarOptions -> BarData -> Chart b
Documentation
data BarOptions Source #
the usual bar chart eye-candy
Constructors
BarOptions | |
Fields
|
Instances
data BarValueAcc Source #
whether to separate each Rect grouping or accumulate them
Constructors
BarValueSeparate | |
BarValueAccumulate |
Instances
imagine a data frame ...
Constructors
BarData | |
Fields
|
barDataLowerUpper :: BarValueAcc -> [[Double]] -> [[(Double, Double)]] Source #
convert data to a range assuming a zero bound a very common but implicit assumption in a lot of bar charts
barRange :: [[Double]] -> Rect Double Source #
calculate the Rect range of a bar data set (imagine a data frame ...)
barChart :: BarOptions -> BarData -> Chart b Source #
A bar chart
barExample :: Chart b barExample = barChart def (BarData [ys] Nothing Nothing) <> hud ( #titles .~ [(def,"Bar Chart")] $ #axes .~ [ #tickStyle .~ TickLabels labels' $ def ] $ #range .~ Just (fold (abs <$> rs)) $ def) where labels' = fmap Text.pack <$> take 10 $ (:[]) <$> ['a'..] rs = rectBars 0.1 ys ys = [1,2,3,5,8,0,-2,11,2,1]