It provides a stateless layer like interface which feels intuitive, and avoids bugs due to global state.
But, it is built on top of matplotlib. So, if plotnine cannot do something, you can go back to the matplotlib way of doing things and take advantage of the large number of blogs, example, tutorials, and stackoverflow answers.
Performance wise, it can handle more data than altair. But less than matplotlib, if you use the built in data manipulation features.
Performance is a huge concern for us and we are working on some improvements in that area. We will first focus on pushing computation and aggregation down into the Python kernel.
I still use Matplotlib and I can make it look beautiful and exactly how I want... it's just a lot more work to get the shinny bits.
(Or go out and look around github or the broader web to find many more options.)
Jake VanderPlas The Python Visualization Landscape PyCon 2017
Why does a plotting library need support for statistical analysis? I always think of manipulating data and visualizing it as orthogonal disciplines.
Altair is still great though, but this issue makes it occasionally annoying.
Under the hood it works the same way: Plotly.py generates JSON figure descriptions which are passed to Plotly.js for rendering.
The whole thing is, of course, free and open-source and well-documented :)
I am beginning to wonder if HighCharts is replaceable with a fully open-source charting library.
It's pretty awesome and i use it for a similar purpose. MY dashhboards/charts are pretty basic but there seems to be good support for interactivity and callbacks.
Here a guide we've written for an app where you can drag and drop a file and get a chart from it.
But you can extend to take an SQL query or maybe to set up an external api call.
https://github.com/sirrice/pygg provides the ggplot2 syntax in Python as a wrapper around Wickham's R implementation. It is useful if you 1) want the R syntax, 2) program in Python, 3) just want static plots.
EDIT: Ohhhh, this looks nice!
 Disclaimer: I'm the CEO of Kyso
People don't care anymore how they name their projects. :-(
Does it work in jupyter notebooks/labs?
> Sadly, in Python, we do not have a ggplot2.
I've got to ask, though: why is that the case?
But any approach to a ggplot2 equivalent either has to abandon the massive ecosystem around matplotlib, or build on top of it – and matplotlib's heavily state-based approach makes that difficult. Plotnine is attempting to do that, I hear it's pretty good.
What I think the author means is that there is no ggplot in the sense that there's no One Ring To Rule Them All -- ggplot2 basically killed off lattice and base R graphics for about 90% of users. The Python graphics ecosystem is more Balkanized.
Could you share the code used to create your last sample chart?
Bandwidth Limit Exceeded