Introducing plotly.py 3.0.0
medium.com
medium.com
brilliant, simple to use s/w. thank you.
I strongly suggested using plotly instead (either this Python API or the R/ggplot2 API) as it saved a lot of headaches. The native Notebook capabilities are very nice too. (the hard part is extracting the interactive visualization to use elsewhere)
1) You can save them to a standalone, self-contained, html file: See https://community.plot.ly/t/proper-way-to-save-a-plot-to-htm...
2) You can save them to an html <div> element and embed them in another web page: See https://stackoverflow.com/a/38032952/4551895
3) You can upload them to plot.ly and share the link
Obviously python itself is open, I mean the API :-)
plotly.py and the plotly.js rendering library are both MIT licensed, developed in the open on GitHub, and totally self-contained.
Everything in the technology stack used in the announcement post is free, open source, self-contained, usable offline, and doesn't require an account. The plot.ly cloud integration is totally optional.
So I am really looking forward to give the new version a spin!
I really think having interactive plots for rapid prototyping/outlier inspection/plot design and then being able to use the same code to produce static, publication grade graphs or doing batch processing, will allow for a really efficient workflow!
I really like Bokeh. It's still quite young (0.13) and some things aren't quite there yet. For general plotting, pretty much everything you need is already there. The documentation is excellent.
Plotly is very powerful, but if you have a use-case that's beyond the examples it can be hard to find. I ran into some annoying issues - for example you can't embed JSON metadata into a plot before sending to the browser because the parser can't deal with unexpected keys.
I also don't (didn't?) like how everything in Plotly is done via dictionaries and (for the newcomer, somewhat abstract) graph objects. Graph object definitions in plotly get very busy and long if you need to do anything complicated. The new imperative options seem to have fixed this.
Bokeh feels much more similar to Matplotlib and I think produces far more readable code.