Copyright | (c) Tim Docker 2010, 2014 |
---|---|
License | BSD-style (see chart/COPYRIGHT) |
Safe Haskell | None |
Language | Haskell98 |
Calculate and render time axes
- type TimeSeq = LocalTime -> ([LocalTime], [LocalTime])
- type TimeLabelFn = LocalTime -> String
- data TimeLabelAlignment
- timeAxis :: TimeSeq -> TimeSeq -> TimeLabelFn -> TimeLabelAlignment -> TimeSeq -> TimeLabelFn -> TimeLabelAlignment -> AxisFn LocalTime
- autoTimeAxis :: AxisFn LocalTime
- days :: TimeSeq
- months :: TimeSeq
- years :: TimeSeq
- doubleFromLocalTime :: LocalTime -> Double
Documentation
type TimeSeq = LocalTime -> ([LocalTime], [LocalTime]) Source
TimeSeq is a (potentially infinite) set of times. When passed a reference time, the function returns a a pair of lists. The first contains all times in the set less than the reference time in decreasing order. The second contains all times in the set greater than or equal to the reference time, in increasing order.
type TimeLabelFn = LocalTime -> String Source
How to display a time
:: TimeSeq | Set the minor ticks, and the final range will be aligned to its elements. |
-> TimeSeq | Set the labels and grid. |
-> TimeLabelFn | |
-> TimeLabelAlignment | |
-> TimeSeq | Set the second line of labels. |
-> TimeLabelFn | Format |
-> TimeLabelAlignment | |
-> AxisFn LocalTime |
Create an AxisFn
to for a time axis.
The values to be plotted against this axis can be created with
doubleFromLocalTime
.
autoTimeAxis :: AxisFn LocalTime Source
Automatically choose a suitable time axis, based upon the time range
of data. The values to be plotted against this axis can be created
with doubleFromLocalTime
.
Utilities
doubleFromLocalTime :: LocalTime -> Double Source
Map a LocalTime value to a plot coordinate.