现在,让我们为Rating列中出现的类别绘制饼图。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Plottingapiechartplt.figure(figsize=[9,7]) pstore['Content Rating'].value_counts().plot.pie() plt.show()
上面代码的饼状图如下所示,
用于Rating的饼状图
从上面的饼图中,我们不能正确的推断出“所有人10+”和“成熟17+”。当这两类人的价值观有点相似的时候,很难评估他们之间的差别。
我们可以通过将上述数据绘制成柱状图来克服这种情况。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Plottingabarchartplt.figure(figsize=[9,7]) pstore['Content Rating'].value_counts().plot.barh() plt.show()
柱状图如下所示,
Rating栏的条形图
与饼图类似,我们也可以定制柱状图,使用不同的柱状图颜色、图表标题等。
3.散点图
到目前为止,我们只处理数据集中的一个数字列,比如评级、评论或大小等。但是,如果我们必须推断两个数字列之间的关系,比如“评级和大小”或“评级和评论”,会怎么样呢?
当我们想要绘制数据集中任意两个数值列之间的关系时,可以使用散点图。此图是机器学习领域的最强大的可视化工具。
让我们看看数据集评级和大小中的两个数字列的散点图是什么样子的。首先,我们将使用matplotlib绘制图,然后我们将看到它在seaborn中的样子。
使用matplotlib的散点图
#importallthenecessarylibraries#Plottingthescatterplotplt.scatter(pstore.Size, pstore.Rating) plt.show()
图是这样的
使用Matplotlib的散点图
使用Seaborn的散点图
在直方图和散点图的代码中,我们将使用sn .joinplot()。
sns.scatterplot()散点图的代码。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Plottingthesamethingnowusingajointplotsns.jointplot(pstore.Size, pstore.Rating) plt.show()
上面代码的散点图如下所示,
使用Seaborn的散点图
在seaborn中使用散点图的主要优点是,我们将同时得到散点图和直方图。
如果我们想在代码中只看到散点图而不是组合图,只需将其改为“scatterplot”
回归曲线
回归图在联合图(散点图)中建立了2个数值参数之间的回归线,并有助于可视化它们的线性关系。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Plottingthesamethingnowusingajointplotsns.jointplot(pstore.Size, pstore.Rating, kind="reg") plt.show()
图是这样的,
在Seaborn中使用jointplot进行回归分析
从上图中我们可以推断出,当app的价格上升时,评级会稳步上升。
4.配对图
当我们想要查看超过3个不同数值变量之间的关系模式时,可以使用配对图。例如,假设我们想要了解一个公司的销售如何受到三个不同因素的影响,在这种情况下,配对图将非常有用。
让我们为数据集的评论、大小、价格和评级列创建一对图。
我们将在代码中使用sns.pairplot()一次绘制多个散点图。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Plottingthesamethingnowusingajointplotsns.pairplot(pstore[['Reviews', 'Size', 'Price','Rating']]) plt.show()
上面图形的输出图形是这样的,
使用Seaborn的配对图
- 对于非对角视图,图像是两个数值变量之间的散点图
- 对于对角线视图,它绘制一个柱状图,因为两个轴(x,y)是相同的。
5.热力图
热图以二维形式表示数据。热图的最终目的是用彩色图表显示信息的概要。它利用了颜色强度的概念来可视化一系列的值。
我们在足球比赛中经常看到以下类型的图形,
足球运动员的热图
在Seaborn中创建这个类型的图。
我们将使用sn .heatmap()绘制可视化图。
当你有以下数据时,我们可以创建一个热图。
上面的表是使用来自Pandas的透视表创建的。
现在,让我们看看如何为上表创建一个热图。
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns##Plotaheatmapsns.heatmap(heat) plt.show()
在上面的代码中,我们已经将数据保存在新的变量“heat”中。
热图如下所示,
使用Seaborn创建默认热图
我们可以对上面的图进行一些自定义,也可以改变颜色梯度,使最大值的颜色变深,最小值的颜色变浅。
更新后的代码是这样的,
#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Applyingsomecustomizationtotheheatmapsns.heatmap(heat, cmap="Greens", annot=True) plt.show()
上面代码的热图是这样的,
带有一些自定义的热图代码
在我们给出“annot = True”的代码中,当annot为真时,图中的每个单元格都会显示它的值。如果我们在代码中没有提到annot,那么它的默认值为False。
Seaborn还支持其他类型的图形,如折线图、柱状图、堆叠柱状图等。但是,它们提供的内容与通过matplotlib创建的内容没有任何不同。
结论
这就是Seaborn在Python中的工作方式以及我们可以用Seaborn创建的不同类型的图形。正如我已经提到的,Seaborn构建在matplotlib库之上。因此,如果我们已经熟悉Matplotlib及其函数,我们就可以轻松地构建Seaborn图并探索更深入的概念。
感谢您的阅读!!