I was just reminded about #d3js by @aparrish It is a beautiful, but low level library. It is not easy to plot functions from #mathematics with it -- thankfully Mauricio Poppe has made a higher level function plotting library:
https://mauriciopoppe.github.io/function-plot/
@thelibrarian @aparrish plot.ly has another set of libraries that work with #d3js but it's not entirely free (I don't think - a buddy of mine works for them but I haven't tried their stuff)