最近在学习用python绘图,由于我之前一直在用R绘图,因此最近需要使用python绘图,经过一番查阅准备用plotnine绘图。
plotnine的特别之处在于,它跟R语言的ggplot2风格一样,除了一些语法上的细小差别,因此习惯用R的可以快速上手。
我个人感觉学习绘图的一个方式就是看大量的例子,明白各种参数的用法。
官方文档(可以看方法定义):
https://plotnine.readthedocs.io/en/stable/index.html
pip install plotnine
ggplot | 创建ggplot |
aes | 指定x,y |
watermark | 水印 |
layer | 通过geom stats添加图层 |
save_as_pdf_pages | 可以将多个ggplot保存成pdf,每个图占一页 |
df = pd.DataFrame({
'x': ['b', 'd', 'c', 'a'],
'y': [1, 2, 3, 4]
})
ggplot(df, aes('reorder(x, y)', 'y')) + geom_col()
使用R语言的应该对这个很熟悉,可以理解为将x的值认为是一个类别,多用在color,group参数
ggplot(mtcars, aes(x='factor(cyl)')) + geom_bar()
通过theme(figure_size(width,height))指定pdf每一页的宽高
df = pd.DataFrame({
'x': ['b', 'd', 'c', 'a'],
'y': [1, 2, 3, 4]
})
base_plot = ggplot(mtcars, aes(x='factor(cyl)'))+ geom_bar()+theme(figure_size=(8,6))
plots = [base_plot + ggtitle('%d of 3' % i) for i in range(1, 3)]
save_as_pdf_pages(plots,filename='tmp.pdf')