I use plotly to make SVG outcomes which then help show people things moving to pptx. The nice thing about the plotly svg is how well its written: it works perfectly as the icon form or the real view. (its also significantly nicer than the analogous design elements inside powerpoint, but I can't take people direct to SVG elements on projected things at meetings just yet)
Good suggestion!
Unfortunately I found SVG in ppt problematic/slow when plotting many objects (think 1mio points) and sometimes details can be messed up - so rendering to bitmaps is still preferred.
Badly written my side: show them svg in web, but reimplemented the high level constructs using python PPTX equivalents, not svg embedded. I am told svg is coming. (To ppt) and would love to have it.
I did a dataviz livestream yesterday where a couple people asked if they should learn d3 for interactive data visualization.
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)
I want to use plotly so badly but I don't want to sink an investment into another sticky commercial ecosystem -- I've had to do that with Mathematica and Matlab, I don't want to do it again. How good/bad is plotly in comparison?
Obviously python itself is open, I mean the API :-)
Actually, you don't need to sink any investment into a commercial ecosystem here!
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.
It's completely open and that's amazing. The ability to design plot.ly plots offline in a jupyter notebook and easily deploy it to our reporting website (Using Dash) is so quick and easy. Even the default interactive elements is plenty for most use cases.
Really good stuff and addresses many issues I had, eg documentation and jupyter compatibility.
I hope the static image export gets a bit streamlined - being able to quickly & programmatically export graphs to png is really something I did not find easy from python with plotly so far. Yet it is definitely crucial eg to send a high quality image to the boss for a PowerPoint slide or to save 100s of png images for quick visual quality checks.
So I am really looking forward to give the new version a spin!
Rock solid export of high-quality static images is really important to me too. Fortunately the hard part is already done (in orca). Integrating orca into plotly.py is the very next feature I'm going to start working on after I get through SciPy next week, so hopefully it won't be too much longer...
I am really happy to hear that, thanks a lot for your efforts!
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 plotly, but I'm wondering if anyone has some experience with plotly AND with some other interactive plotting libraries for python (e.g., bokeh or altair). Where are the strengths and weaknesses? Which package to you prefer?
It seems that the new version of plotly addresses most of my annoyances, but I've yet to play with it.
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.
Plotly for R has the neat feature whereby you can take a ggplot plot and render it with plotly. Same definition; perhaps more web-appropriate output. I think if I were to try and extend a grammar of graphics plotting system for another language, I might start with Plotly... or perhaps vega-lite.
Yes, we marked this as a dupe, but on second thought I had a feeling that much of the community didn't see it and—to judge by the comments in the first thread—might like to. So we'll change the URL from https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md to the more-informative blog post and give this one a second chance. We do that sometimes with borderline cases.
brilliant, simple to use s/w. thank you.