plotnine
plotnine 是基于 ggplot2 在 Python 中实现的一个图形语法。这种语法允许你通过明确地将数据框中的变量映射到构成图表的对象的视觉特征(位置、颜色、大小等)来组合图表。
使用图形语法进行绘图是非常强大的。自定义(或其他复杂的)图表很容易思考和逐步构建,而简单的图表仍然易于创建。
要了解更多关于如何使用 plotnine 的信息,请查看文档。由于 plotnine 的 API 与 ggplot2 类似,在覆盖范围不足的地方,ggplot2 文档可能会有帮助。
示例
from plotnine import *
from plotnine.data import mtcars
逐步构建复杂图表。
-
散点图
( ggplot(mtcars, aes("wt", "mpg")) + geom_point() )
-
根据某个变量着色的散点图
( ggplot(mtcars, aes("wt", "mpg", color="factor(gear)")) + geom_point() )
-
根据某个变量着色并用线性模型平滑的散点图,包含置信区间
( ggplot(mtcars, aes("wt", "mpg", color="factor(gear)")) + geom_point() + stat_smooth(method="lm") )
-
根据某个变量着色、用线性模型平滑并在不同面板上绘制的散点图,包含置信区间
( ggplot(mtcars, aes("wt", "mpg", color="factor(gear)")) + geom_point() + stat_smooth(method="lm") + facet_wrap("gear") )
-
调整主题
I) 使其生动活泼
( ggplot(mtcars, aes("wt", "mpg", color="factor(gear)")) + geom_point() + stat_smooth(method="lm") + facet_wrap("gear") + theme_xkcd() )
II) 或专业
( ggplot(mtcars, aes("wt", "mpg", color="factor(gear)")) + geom_point() + stat_smooth(method="lm") + facet_wrap("gear") + theme_tufte() )
安装
官方发布版
# 使用 pip
$ pip install plotnine # 1. 对大多数人来说应该足够了
$ pip install 'plotnine[extra]' # 2. 包含额外/可选包
$ pip install 'plotnine[test]' # 3. 测试
$ pip install 'plotnine[doc]' # 4. 生成文档
$ pip install 'plotnine[dev]' # 5. 开发(制作发行版)
$ pip install 'plotnine[all]' # 6. 所有内容
# 或使用 conda
$ conda install -c conda-forge plotnine
开发版
$ pip install git+https://github.com/has2k1/plotnine.git
贡献
我们的文档需要一些示例,但我们在寻找一些特别的东西。我们有两个标准:
- 看起来简单但实际上需要一两个技巧的图表。
- 作为数据分析叙述一部分的图表。也就是说,它们以最佳方式展示了
geom
、stat
等的独特之处,提供了某种形式的清晰度。
如果你想到了符合这些标准的内容,我们很乐意看到。请参见 plotnine-examples。
如果你发现了一个 bug,请查看 issues,如果还没有被报告,请提交一个 issue。
如果你能修复 bug,欢迎你的贡献。
测试
Plotnine 有一些测试会生成图像,这些图像会与已知正确的基准图像进行比较。为了生成在所有系统上都一致的图像,你必须从源代码安装 matplotlib。你可以使用 pip
命令来完成这个操作:
$ pip install matplotlib --no-binary matplotlib
否则,文本渲染可能会有细微的差异,从而影响图像比较。