python ggplot画等值线图

R的忠实用户知道,ggplot2可以使您在处理探索性数据分析和数据可视化时更加简单。它使得创建优雅而强大的情节变得如此容易,从而有助于解读数据中的潜在关系。

那么Python用户是否也有类似的画图工具呢?

这个问题的答案在Plotnine中。

Plotnine的风格与R中的ggplot2有99%的相似之处,主要区别在于括号的使用,您将在下面的几个简短示例中看到。使用plotnine的一个最好的收获是,输出基本上与在R中得到的相同。在视觉上没有显著的区别。

接下来我们简要介绍如何使用Plotnine。

安装:

pip install pandas plotnine

让我们用必要的库来设置工作环境,并将csv文件加载到名为survs_df的数据框架中:

import numpy as npimport pandas as pdfrom plotnine import *%matplotlib inlinesurvs_df = pd.read_csv('surveys.csv').dropna()

要使用plotnine中的ggplot类生成一个图形,我们必须提供三件事:

包含我们的数据的数据框。

如何将数据框架的列转换为图形元素的位置、颜色、大小和形状(“美学”)。

要显示的实际图形元素(“几何对象”)

ggplot(survs_df, aes(x='weight', y='hindfoot_length')) + geom_point()

对于plotnine中的API,我们可以使用许多选项来创建图形。

(ggplot(mtcars, aes(‘wt’, ‘mpg’, color=’factor(cyl)’))+ geom_point()+ labs(title=’Miles per gallon vs Weight’, x=’Weight’, y=’Miles per gallon’)+ guides(color=guide_legend(title=’Number of Cylinders’)) )

R中的ggplot的主要卖点之一是FACET的能力。对于用一行代码绘制数据子集,我们也有许多选项:

(ggplot(mtcars, aes(‘wt’, ‘mpg’, color=’factor(cyl)’))+ geom_point()+ labs(title=’Miles per gallon vs Weight’,x=’Weight’, y=’Miles per gallon’)+ guides(color=guide_legend(title=’Cylinders’))+ facet_wrap(‘~gear’))

只需在前面代码的末尾添加facet_wrap(' ~gear '),我们现在就有了一个分面情节。这实际上比使用Matplotlib和Seaborn要简单得多。