\

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

29 points - last Monday at 5:54 PM


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

Source
  • WaryByDesign

    today 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.

    • emilbratt

      today 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-pl

        today at 9:55 AM

        [dead]