Python 数据可视化:从单变量到多变量

在 Python 中,**数据可视化(Data Visualization)**是数据分析的重要环节,它帮助我们通过图形直观理解数据。通常可以按照 变量数量划分为:

  • 单变量分析(Univariate)
  • 双变量分析(Bivariate)
  • 多变量分析(Multivariate)

常用库包括:

  • Matplotlib
  • Seaborn
  • Pandas
  • Plotly

下面按 从单变量到多变量系统讲解。


一、单变量可视化(Univariate)

单变量分析关注 一个变量的分布情况

常见问题:

  • 数据是否偏态?
  • 是否有异常值?
  • 数据范围?

1 直方图(Histogram)

展示数值分布。

import matplotlib.pyplot as plt
import seaborn as sns

data = [1,2,2,3,3,3,4,5,6,7]

sns.histplot(data, bins=5)
plt.show()

特点:

  • 观察分布
  • 判断正态性

2 箱线图(Boxplot)

展示:

  • 中位数
  • 四分位数
  • 异常值
sns.boxplot(x=data)
plt.show()

箱线图结构:

最小值 — Q1 — 中位数 — Q3 — 最大值

3 密度图(KDE)

显示 概率密度分布

sns.kdeplot(data)
plt.show()

优点:

  • 平滑显示数据分布

4 条形图(Categorical)

适合 分类变量

sns.countplot(x=["A","A","B","C","B"])

二、双变量可视化(Bivariate)

双变量分析用于 研究两个变量之间关系

例如:

  • 身高 vs 体重
  • 学习时间 vs 成绩

1 散点图(Scatter Plot)

最常见的关系图。

x = [1,2,3,4]
y = [2,3,5,7]

plt.scatter(x,y)
plt.show()

用途:

  • 查看相关性
  • 查看聚类

2 回归图(Regression Plot)

在散点图上添加回归线。

sns.regplot(x=x,y=y)

用于:

  • 观察线性关系

3 折线图(Line Plot)

用于 时间序列数据

plt.plot(x,y)

示例:

  • 股票价格
  • 温度变化

4 分组箱线图

比较不同类别的分布。

sns.boxplot(x="gender", y="salary", data=df)

三、多变量可视化(Multivariate)

多变量分析用于 三个或以上变量之间关系


1 气泡图(Bubble Chart)

散点图 + 第三变量大小。

plt.scatter(x,y,s=size)

变量表示:

  • x → 变量1
  • y → 变量2
  • size → 变量3

2 热力图(Heatmap)

用于展示 矩阵关系

常见:

  • 相关系数矩阵
import pandas as pd

corr = df.corr()

sns.heatmap(corr, annot=True)

适合:

  • 特征相关性分析

3 Pairplot(多变量关系图)

来自:

Seaborn

sns.pairplot(df)

效果:

  • 每个变量之间散点图
  • 对角线为分布图

4 FacetGrid(分面图)

将数据按类别分组展示。

sns.FacetGrid(df, col="gender")

四、可视化流程(推荐)

一个完整的数据可视化流程:

Step1 数据读取

import pandas as pd

df = pd.read_csv("data.csv")

Step2 单变量分析

sns.histplot(df["age"])

Step3 双变量分析

sns.scatterplot(x="age", y="salary", data=df)

Step4 多变量分析

sns.heatmap(df.corr())

五、常见可视化类型总结

类型变量数量图表
单变量1直方图、箱线图
双变量2散点图、折线图
多变量3+热力图、pairplot

六、可视化库对比

特点
Matplotlib基础绘图库
Seaborn统计图更美观
Plotly交互式图表
BokehWeb可视化

七、可视化最佳实践

1 先看分布

先做:

Histogram
Boxplot

2 再看关系

Scatter
Regression

3 再看整体

Heatmap
Pairplot

总结

Python 数据可视化通常遵循:

单变量 → 双变量 → 多变量

常用组合:

Pandas + Matplotlib + Seaborn

这也是数据分析中最常见的技术栈。


如果你愿意,我可以继续给你整理一套 Python 数据可视化 20 种图表大全(含完整代码),里面包括:

  • 折线图
  • 面积图
  • 雷达图
  • Sankey 图
  • 3D 可视化

很多数据科学面试和项目都会用到。

文章已创建 5074

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部