{ggplot} from Yhat
read more on our blog
from ggplot import *
ggplot(aes(x='date', y='beef'), data=meat) + \
geom_point(color='lightblue') + \
stat_smooth(span=.15, color='black', se=True) + \
ggtitle("Beef: It's What's for Dinner") + \
xlab("Date") + \
ylab("Head of Cattle Slaughtered")
Yes, it's another port of ggplot2.
One of the biggest reasons why I continue to reach for R
instead of
Python
for data analysis is the lack of an easy to use, high level
plotting package like ggplot2
. I've tried other libraries like
bokeh and
d3py but what I really want is
ggplot2
.
ggplot
is just that. It's an extremely un-pythonic package for doing
exactly what ggplot2
does. The goal of the package is to mimic the
ggplot2
API. This makes it super easy for people coming over from R
to use, and prevents you from having to re-learn how to plot stuff.
- same API as
ggplot2
forR
- never use matplotlib again
- ability to use both American and British English spellings of aesthetics
- tight integration with pandas
- pip installable
This package depends on the following packages, although they should be
automatically installed if you use pip
:
matplotlib
pandas
numpy
scipy
statsmodels
patsy
Installing ggplot
is really easy. Just use pip
!
$ pip install ggplot
# run an IPython shell (or don't)
$ ipython
In [1]: from ggplot import *
That's it! You're ready to go!
meat_lng = pd.melt(meat[['date', 'beef', 'pork', 'broilers']], id_vars='date')
ggplot(aes(x='date', y='value', colour='variable'), data=meat_lng) + \
geom_point() + \
stat_smooth(color='red')
from ggplot import *
ggplot(diamonds, aes('carat', 'price')) + \
geom_point(alpha=1/20.) + \
ylim(0, 20000)
p = ggplot(aes(x='carat'), data=diamonds)
p + geom_histogram() + ggtitle("Histogram of Diamond Carats") + labs("Carats", "Freq")
ggplot(diamonds, aes(x='price', color='cut')) + \
geom_density()
meat_lng = pd.melt(meat[['date', 'beef', 'broilers', 'pork']], id_vars=['date'])
p = ggplot(aes(x='value', colour='variable', fill=True, alpha=0.3), data=meat_lng)
p + geom_density()
p = ggplot(mtcars, aes('factor(cyl)'))
p + geom_bar()
The list is long, but distinguished. We're looking for contributors! Email greg at yhathq.com for more info. For getting started with contributing, check out these docs