扫码关注【牵引小哥讲Python】,关注回复【资源】领取学习资源!
接Seaborn-鸢尾花数据集分析(一)的内容,本期小哥继续以Seaborn
中内置鸢尾花数据集iris
分析为例,讲解Seaborn
其他图表的绘制。
参考链接:Seaborn官方网站<u>http://seaborn.pydata.org/api.html#grid-api</u>
1. sns.barplot() ,sns.countplot() 条形图
Seaborn
中有两种绘制条形图的函数。ns.barplot()
和sns.countplot()
,这两种函数有很大区别。
-
sns.barplot()
绘制普通条形图,传入两个变量,可带置信度(默认95%) -
sns.countplot()
计数条形图,只能传入一个变量。对变量中的参数进行计数
小哥Tips:
鸢尾花数据集不适合做条形图统计,小哥此处仅作绘图函数的演示。
我们来看看例子,首先是sns.barplot()
# 为了直观演示,此处只取前5组数据进行绘图
ax = sns.barplot(df.sepal_length[:5], df.sepal_width[:5])
绘制横向条形图,通过orient='h'
控制:
ax = sns.barplot(df.sepal_width[:5], df.sepal_length[:5], orient='h')
然后看看sns.countplot()
:
ax = sns.countplot(df.species)
从sns.countplot()
的绘图结果可以看出,绘图结果三种鸢尾花数量的统计。
2. sns.heatmap()热力图
之前小哥在【Seaborn为何如此高效?】一文中讲解了如何绘制热力图,这里再复习一下。
此处以绘制数据集中鸢尾花花萼长宽、花瓣长宽之间的相关系数为例,演示如何绘制热力图。首先简单讲解一下相关关系和相关系数。
相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的量。Pearson相关系数(Pearson CorrelationCoefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。
相关系数的绝对值越大,相关性越强:相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。
# df.corr()计算相关系数
ax = sns.heatmap(df.corr(), annot=True, cmap='viridis')
# 调整y轴标签方向
plt.setp(ax.get_yticklabels(), rotation=0, ha="right",
rotation_mode="anchor")
3. sns.boxplot()箱型图
关于箱型图的介绍请看小哥之前的推文【最简单详尽的常用图表用法总结】
sns.boxplot(x='species', y='sepal_length', data=df, palette='Set2')
4. sns.violinplot()小提琴图
相比箱型图,小提琴图不仅能反应相关统计值,还能反应样本的概率密度分布。简单说小提琴图就是添加了概率密度分布的箱型图。
sns.violinplot(x='species', y='sepal_length', data=df)