信息发布→ 登录 注册 退出

Python统计图表教程_Seaborn常见图形解析

发布时间:2026-01-09

点击量:
Seaborn是基于Matplotlib的高级统计可视化库,语法简洁、默认美观,适用于EDA;支持分布图(histplot/kdeplot)、关系图(scatterplot/lineplot/regplot)、分类图(barplot/violinplot/boxplot)及相关性热力图,自动处理缺失值、集成Pandas、语义化绘图。

Seaborn 是基于 Matplotlib 的高级数据可视化库,专为统计图表设计,语法简洁、默认样式美观,特别适合探索性数据分析(EDA)。掌握几种常用图形,就能快速呈现数据分布、关系与分类特征。

分布图:看单变量或双变量的数值分布

分布图用于观察数据取值范围、集中趋势和离散程度。最常用的是直方图(histplot)和核密度估计图(kdeplot),也可用 displot(新版中已整合为 histplotkdeplot 的封装)统一调用。

  • 单变量分布:用 sns.histplot(df['age'], kde=True) 可同时显示直方图与平滑密度曲线
  • 分组分布:添加 hue='gender' 参数,自动按类别叠绘并区分颜色
  • 双变量密度:用 sns.kdeplot(data=df, x='income', y='spending', hue='region') 展示二维密度热区与分组边界

关系图:分析两个数值变量之间的关联

散点图(scatterplot)和线图(lineplot)是表达变量间关系的基础形式,Seaborn 支持自动聚合与语义映射。

  • 基础散点图:sns.scatterplot(data=df, x='height', y='weight', hue='team', size='age') —— 一个图里同时编码三个维度
  • 带趋势线:sns.regplot(x='carat', y='price', data=diamonds) 自动拟合回归线并显示置信区间
  • 时间序列趋势:sns.lineplot(data=ts_data, x='date', y='sales', hue='store'),支持多线对比与误差带

分类图:比较不同类别的统计量

当横轴是类别型变量(如城市、产品类型、实验组别),适合用条形图、箱线图、小提琴图等呈现中心值与变异性。

立即学习“Python免费学习笔记(深入)”;

  • 均值对比:sns.barplot(data=df, x='category', y='score', errorbar='sd') 默认显示标准差误差线
  • 分布细节:sns.violinplot(data=df, x='class', y='sepal_length', inner='quart') 展示密度形状+四分位结构
  • 异常值识别:sns.boxplot(data=df, x='group', y='response') 清晰标出中位数、四分位距和离群点

相关性热力图:快速诊断多变量线性关系

heatmap 可视化相关系数矩阵,是 EDA 中检查多重共线性或变量筛选的第一步。

  • 先计算相关矩阵:corr = df.select_dtypes('number').corr(method='pearson')
  • 再绘图:sns.heatmap(corr, annot=True, cmap='coolwarm', center=0, fmt='.2f')
  • 可加掩码隐藏上三角:mask = np.triu(np.ones_like(corr, dtype=bool)),让画面更聚焦

Seaborn 图形的共同优势在于:自动处理缺失值、内置配色方案、支持长格式数据、与 Pandas 深度集成。多数函数只需指定 data、x、y、hue 等语义参数,不必手动设置坐标轴或图例——把注意力留给数据本身,而不是绘图细节。

标签:# python  # go  # 编码  # 数据可视化  # 统计图表  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!