logoalt Hacker News

Show HN: Minimalist library to generate SVG views of scientific data

25 pointsby afclast Monday at 5:54 PM2 commentsview on HN

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. :-)


Comments

WaryByDesigntoday at 7:54 AM

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.

emilbratttoday at 7:53 AM

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

santiago-pltoday at 9:55 AM

[dead]