sparkline v0.1.0 Sparkline View Source

Sparkline lets you create small inline ANSI charts of time series. It supports two modes: sparkline and chart. The former fits in one line, the latter spans multiple lines and has labels.

Link to this section Summary

Functions

Get an ASCII chart for a time series

Convert a string ISO timestamp to a short label

Get an inline sparkline

Link to this section Functions

Link to this function chart(data, options \\ []) View Source

Get an ASCII chart for a time series.

Link to this function get_time_label(iso_timestamp_string, granularity \\ :day) View Source

Convert a string ISO timestamp to a short label.

Link to this function prepend_by(string, number_of_chars, char \\ " ") View Source
Link to this function sparkline(data, options \\ []) View Source

Get an inline sparkline.

Examples

iex> Sparkline.sparkline [1,2,3,4,5,6,7,8]
"▁▂▃▄▅▆▇█"

iex> Sparkline.sparkline [100, 200, 300]
"▁▅█"

iex> Sparkline.sparkline [-100, 0, 100]
"▁▅█"

iex> Sparkline.sparkline [-100, 0, 100], spark_bars: [".",":","|"]
".:|"

iex> [
...>   %{data: 1},
...>   %{data: 2},
...>   %{data: 3},
...>   %{data: 4},
...>   %{data: 5},
...>   %{data: 6},
...>   %{data: 7},
...>   %{data: 8}
...> ] |> Enum.map(&(&1[:data])) |> Sparkline.sparkline
"▁▂▃▄▅▆▇█"