I used chart.js [0], but I don't necessarily endorse it - it's just what I knew how to use quickly. I usually try to keep my posts free from javascript, and could have used a different tool that gives me SVG data or images.
You can see the code that's generating these charts here: https://github.com/jamesbvaughan/jamesbvaughan.com/blob/main...