#csv #svg #graph #cli

bin+lib csv2svg

take a csv as input and outputs svg

10 releases

new 0.1.9 May 23, 2023
0.1.8 Jul 9, 2022
0.1.7 Jun 7, 2022
0.1.6 Nov 27, 2021
0.1.5 Jan 18, 2021

#105 in Configuration

Download history 177/week @ 2023-01-31 231/week @ 2023-02-07 196/week @ 2023-02-14 224/week @ 2023-02-21 124/week @ 2023-02-28 88/week @ 2023-03-07 157/week @ 2023-03-14 187/week @ 2023-03-21 175/week @ 2023-03-28 122/week @ 2023-04-04 133/week @ 2023-04-11 91/week @ 2023-04-18 117/week @ 2023-04-25 192/week @ 2023-05-02 100/week @ 2023-05-09 154/week @ 2023-05-16

572 downloads per month
Used in 5 crates (via glassbench)

MIT license

170KB
940 lines

MIT Latest Version docs Chat on Miaou

csv2svg

Build a SVG graph from a csv document.

Installation

You must have Rust installed. Do

cargo install csv2svg

Usage

Viewing the SVG graph in a browser

If you don't pipe the output of csv2svg, the graph is automatically displayed in your browser. For increasing readability the graph reacts to mouse hovering.

app_whose_output_is_csv | csv2svg
csv2svg < some/file.csv

Making a file from the SVG graph

app_whose_output_is_csv | csv2svg > some/file.svg
csv2svg < some/file.csv > some/file.svg

Example

The examples/irregular-times.csv files contains this:

time,something,another thing,a third one,whatever,bof
2020-12-25T11:24:49Z,580,,798,,
2020-12-26T12:00:20Z,200,2784,,,
2020-12-27T12:00:22Z,300,,7398,,826
2020-12-28T12:21:27Z,400,4282,,,1125
2020-12-29T16:13:49Z,220,4720,1409,6885,3162
2020-12-29T17:36:38Z,700,4920,1209,6730,4228
2020-12-29T21:43:01Z,800,4320,401,6737,2328
2020-12-30T06:42:39Z,920,4134,209,6856,2222
2020-12-30T07:41:22Z,1200,4136,410,6937,2481
2020-12-30T21:43:01Z,1300,2322,414,,4272

It may be used with no configuration:

csv2svg < examples/irregular-times.csv

which produces this:

irregular-times

Progress

Warning: still a work in project, expect disappointment

  • most basic features
  • time abscissa
  • integer abscissa
  • time stripes
  • bar graph on discrete non-time x
  • float abscissa
  • float y values
  • disjoint scales
  • Windows compatibility (if somebody really wants it)

I might incorporate features you'd like to have, or fix the problems you encounter, provided you tell me about them on Miaou.

Dependencies

~4–11MB
~181K SLoC