Python Seaborn可视化实战:从单变量到多维关系图详解
本文详解Python中Seaborn库的常用绘图方法。涵盖单变量统计图如countplot和distplot,以及双变量关系图如小提琴图、箱线图、棒图、折线图、热力图和散点图。通过具体代码示例展示参数设置与图形解读,帮助开发者快速掌握数据分布分析与异常值检测技巧。
Seaborn库基础与环境配置
Seaborn是基于matplotlib构建的高级Python数据可视化库,使用前需确保已安装matplotlib环境。
所有生成的图形默认通过plt.show()函数渲染显示,也可通过创建自定义画布对象来管理多个子图。
fig,ax=plt.subplots() #一个画布
fig,(ax1,ax2) = plt.subplots( ncols=2) #两个画布
单变量特征统计分析
1)单变量统计图:计数分布图(countplot)
使用sn.countplot(train.mnth)可绘制离散型特征的频数分布,直观展示样本点在各类别中的出现次数。

2)单变量统计图:分布图(distplot)
调用sn.distplot(train.cnt.values, bins=50, kde=True)可分析连续型特征分布,其中bins=50将数据划分为50个区间,kde=True启用核密度估计曲线。若图形尾部出现极端值,可能提示存在离群点或噪声,建议进行清洗处理。

双变量分布与关系可视化
3)双变量关系图:小提琴图(violinplot)
使用sn.violinplot(data=train[['yr', 'cnt']], x="yr", y="cnt")可展示数据分布及概率密度。图中黑色粗条代表四分位数范围,延伸的黑线表示95%置信区间,白点标记中位数位置。

4)双变量关系图:箱线图(boxplot)
调用sn.boxplot(data=train, x="yr", y="cnt")绘制箱线图(亦称盒须图),用于展示数据分散程度。图形结构自上而下依次为:异常值(可选)、最大值、上四分位数、中位数、下四分位数、最小值及异常值(若存在需重点关注)。

多维关系与异常值检测
5)双变量关系图:棒图(barplot)
fig,(ax1,ax2) = plt.subplots(ncols=2) #一个画布,两个轴
sn.barplot(data=train,x='holiday',y='cnt',hue='weathersit',ax=ax1) #hue='weathersit',通过weathersit来区分
sn.barplot(data=train,x='workingday',y='cnt',hue='season',ax=ax2) #hue='season',通过season来区分

6)双变量关系图:折线图(pointplot)
fig,ax = plt.subplots()
sn.pointplot(data=train[['dayofyear','cnt', 'yr']],x='dayofyear',y='cnt',hue='yr',ax=ax)
# hue='yr'指的是区分开年份。hue指颜色
ax.set(title="dayly distribution of counts")
plt.show()

7)关系热力图(heatmap)
corrMatt = train[["temp","atemp","hum","windspeed","cnt"]].corr()
mask = np.array(corrMatt)
mask[np.tril_indices_from(mask)] = False
sn.heatmap(corrMatt, mask=mask,
vmax=1, square=True,annot=True)
plt.show()

8)双变量散点图(scatterplot)
sn.scatterplot(x=train.GrLivArea,y=train.SalePrice)
plt.title("Looking for outliers") #图形标题
plt.show()

以上内容总结了Python中Seaborn库的核心绘图功能,旨在为读者提供实用的参考指南,欢迎进一步探索与技术支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













