| 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]