Remix.run Logo
Show HN: Minimalist library to generate SVG views of scientific data(github.com)
39 points by afc 4 days ago | 3 comments

Just wanted to share with HN a simple/minimal open source Python library that generates SVG files visualizing two dimensional data and distributions, in case others find it useful or interesting.

I wrote it as a fun project, mostly because I found that the standard libraries in Python generated unnecessarily large SVG files. One nice property is that I can configure the visuals through CSS, which allows me to support dark/light mode browser settings. The graphs are specified as JSON files (the repository includes a few examples).

It supports scatterplots, line plots, histograms, and box plots, and I collected examples here: https://github.com/alefore/mini_svg/blob/main/examples/READM...

I did this mostly for the graphs in an article in my blog (https://alejo.ch/3jj).

Would love to hear opinions. :-)

WaryByDesign 6 hours ago | parent | next [-]

Other than that the graphs look good, I don't have much to say about the code (not a Python person), but I think the approach is great, mostly because I like using custom-generated SVGs for visualizations myself as well.

The only downside I've experienced is that it's pretty much impossible to get data-dependent interactions (tooltips and clickable links that vary based on section) to work reliably: additional Javascript has gotten me to like 80% on desktop, but not on mobile.

groundzeros2015 32 minutes ago | parent | prev | next [-]

How does it compare to gnuplot svg output?

emilbratt 6 hours ago | parent | prev [-]

Looks neat! As someone who also did a barplot library with SVG output, I can tell you that this sort of program is really fun to write.

https://crates.io/crates/eb_bars