seaborn可视化示例详解

发布时间:2024年01月22日

目录

1、散点图

2、散点图+回归线

?3、折线图

?4、频数柱状图

?5、分组散点图

?6、箱型图

?7、数值分布柱状图

?8、频数分布图

?9、联合分布图

?10、数值分布柱状图

11、相关系数热力图

划重点

少走10年弯路


????????Seaborn是一个基于Python的数据可视化库,Seaborn提供了许多用于绘制统计图形的高级界面,在Matplotlib的基础上,Seaborn进行了更高级的封装,使得作图更加方便快捷。即便是没有什么基础的人,也能通过极简的代码,做出具有分析价值而又十分专业的图形。

????????虽然没有pyecharts的动态、交互功能,但是胜在便捷、代码量少、必须的配置也少,可以快速出图。

图片

????????本文使用房价数据、房租数据、iris数据集进行展示,数据获取见文末

1、散点图

sns.scatterplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(1000,random_state=1));

图片

添加分类的散点图,仅需要添加一个hue参数指定分组列名即可

sns.scatterplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(1000,random_state=1),hue="近地铁");

图片

设置样式

sns.scatterplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(1000,random_state=1),style='近地铁')

图片

?

2、散点图+回归线

sns.lmplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(1000,random_state=1))

图片

sns.lmplot(data=data.sample(1000,random_state=2), x="面积(/㎡)", y="租金(元/月)",hue="近地铁",)

图片

?3、折线图

sns.lineplot(x="面积(/㎡)", y="租金(元/月)",data=data.head(100))

图片

sns.lineplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(100,random_state=1),hue="近地铁")

添加col参数按照列进行分组展示子图

sns.lmplot(
    data=data.sample(1000,random_state=2), x="面积(/㎡)", y="租金(元/月)",
    col="所在区", 
    hue="近地铁",
    col_wrap=2, 
    palette="muted", ci=None,
    height=4, scatter_kws={"s": 30, "alpha": 1}
)

图片

图片

?4、频数柱状图

sns.countplot(x='所在区',data=data)

图片

频数图设置排序

color_order=['海淀', '朝阳', '丰台', '昌平', '西城', '房山', '通州', '顺义', '大兴', '东城', '石景山', '亦庄','门头沟', '密云']
sns.countplot(x='所在区',order=color_order,data=data)

图片

?5、分组散点图

sns.stripplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=1))

图片

sns.stripplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=1),hue="近地铁")

图片

?6、箱型图

sns.boxplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=2))

图片

sns.boxenplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=2),color="b",)

图片

sns.boxplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=2),hue="近地铁")

图片

?7、数值分布柱状图

柱状图用矩形条表示估计点和置信区间

sns.barplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=2))

图片

sns.barplot(x="所在区", y="面积(/㎡)",data=data.sample(1000,random_state=2),hue="近地铁")

图片

?8、频数分布图

sns.histplot(x=data['租金(元/月)'],kde=True)

图片

?9、联合分布图

sns.jointplot(x="面积(/㎡)", y="租金(元/月)",data=data.sample(1000,random_state=1),height=5)

图片

?10、数值分布柱状图

sns.pairplot(iris)

图片

sns.pairplot(iris, hue="class", markers=["o", "s", "D"])

图片

sns.pairplot(iris,kind='reg')

图片

11、相关系数热力图

import seaborn as sns
correlation = df2.drop(['ID','sale_date'],axis=1).corr()
plt.figure(figsize=(16, 8),dpi=100) 
sns.heatmap(correlation,square = True, annot=True, fmt='0.2f',vmax=0.8)

图片

只显示半个矩阵

mask=np.zeros_like(correlation)
mask[np.triu_indices_from(mask)]=True
plt.figure(figsize=(12, 8),dpi=100) 
sns.heatmap(correlation,cmap="YlGnBu",annot=True,mask=mask)

图片

划重点

少走10年弯路

? ? ? ??关注威信公众号?Python风控模型与数据分析,回复?seaborn 获取本篇数据及代码

? ? ? ? 还有更多理论、代码分享等你来拿

文章来源:https://blog.csdn.net/a7303349/article/details/135681878
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。