std.print.format.chart

bar-graph

added in 3.0

(bar-graph xs)(bar-graph xs height)

constructs a bar graph

(-> (bar-graph (range 10) 6) (str/split-lines)) => " ▟" " ▗██" " ▟███"

lines:bar-graph

added in 3.0

(lines:bar-graph xs height)

formats an ascii bar graph for output

(lines:bar-graph (range 10) 6) => " ▟" " ▗██" " ▟███"

sparkline

added in 3.0

(sparkline xs)

formats a sparkline

(sparkline (range 8)) => “▁▂▃▅▆▇█”

table

added in 3.0

(table m {:keys [id-key headers sort-key], :as opts})

generates a single table

(table {“[email protected]” {:id 1 :value “a”} “[email protected]” {:id 2 :value “b”}} {:headers :id :email :value :sort-key :email :id-key :email}) => (ascii [“| :id | :email | :value |” “|—–+———–+——–|” “| 1 | "" | "a" |[email protected]” “| 2 | "" | "b" |[email protected]”])

table-basic:format

added in 3.0

(table-basic:format ks rows)(table-basic:format rows)

table-basic:parse

added in 3.0

(table-basic:parse s)

table:parse

added in 3.0

(table:parse s {:keys [id-key], :as opts})

generates a single table

(table:parse (ascii “| :id | :email | :value |” “|—–+———–+——–|” “| 1 | "[email protected]" | "a" |” “| 2 | "[email protected]" | "b" |”)

{:headers :id :email :value :sort-key :email :id-key :email}) => {“[email protected]” {:id 1 :value “a”} “[email protected]” {:id 2 :value “b”}}

tree-graph

added in 3.0

(tree-graph tree)(tree-graph tree pad prefix check)

returns a string representation of a tree

(-> (tree-graph ’[{a “1.1”} [{b “1.2”} {c “1.3”} {d “1.4”}]]) (str/split-lines)) => [“{a "1.1"}” " {b "1.2"}" " {c "1.3"}" " {d "1.4"}" ""]