# HG changeset patch # User Jeff Hammel # Date 1434852251 25200 # Node ID 31a004976411968c242f0fd0e47f93337147f713 # Parent f62ac9a27a1fa60ff08a1be202afc0adf004d03c port diff -r f62ac9a27a1f -r 31a004976411 a_brief_plotting_survey.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/a_brief_plotting_survey.txt Sat Jun 20 19:04:11 2015 -0700 @@ -0,0 +1,13 @@ +Right now, https://github.com/CognitiveNetworks/validation/tree/master/stats , the validation analysis gum+chicken wire framework (working now on replacing the gum and chicken wire with wood + iron), uses matplotlib: http://matplotlib.org/ . It's not bad -- 10 years ago I would have said it was quite amazing -- but its a bit cumbersome. I don't have time to replace it anytime soon (I don't think, unless it really hits me in the face), but did look into a few solutions yesterday. + +My criteria have mostly been around generating standalone plots for quick analysis. Interactivity would be nice. HTML would be nice. But a web service is/was an afterthought, though important, so none of these are necessarily for a plot server to replace stackdriver (though they might be). They were just quick + nice solutions for my rather narrow requirement that *might* scale to a plot service. + +I've really liked d3, though my experience is limited. It is also javascript, so as much as I'd love to start rewriting everything in node, I'm not planning on doing that today. So I looked for python to d3 bridges. http://mpld3.github.io/ looks the most promising -- it is a backend to matplotlib, which already is heavily developed. It also works with ipython, which I sometimes find useful but mostly don't (though I like the concept). + +Second place, and worth looking at (although I haven't much): https://github.com/areski/python-nvd3 . It uses the nvd3 front end to d3, which I don't know how I feel about yet: http://nvd3.org/index.html + +A library that doesn't use d3 but is pretty slick: http://bokeh.pydata.org . It was very easy to demo. I considered ripping out matplotlib and inserting bokeh, as it would have been quick. I still might, but have bigger fish to fry at the moment. + +Those are my top three. Really, bokeh and mpld3 are my top two python choices, and if I were to consider node (and/or my job was building a plot server to replace stackdriver and not to have useful graphs of analytic tools that aren't yet finished next week), I'm sure I'd have more d3 related choices. That said, there are a wealth of python plotting options: https://wiki.python.org/moin/NumericAndScientific/Plotting lists some of them. + +This is mostly just a brief knowledge sharing from yesterday; for entertainment purposes only. matplotlib ain't bad and I'll probably stick with it for now. I'd love to start moving to a plot server architecture, as Ed mentioned he liked in standup today (I love the idea myself), but that's not my front-burner task. Still, I hope this is useful. \ No newline at end of file