Seaborn 是一个基于 Python 的统计数据可视化库,它建立在 matplotlib 之上,旨在提供更高级、更美观、更具统计意义的可视化功能。
CONTENT
1. 单变量分布可视化
功能
使用 histplot()
函数绘制直方图,展示单变量数据的分布情况,可直观看到数据在各个区间的频次。
代码
import seaborn as sns
import matplotlib.pyplot as plt
# 加载内置数据集
tips = sns.load_dataset("tips")
# 绘制 total_bill 列的直方图
sns.histplot(tips["total_bill"], kde=True)
plt.show()
在这段代码中,首先加载了 Seaborn
的内置数据集 tips
,然后使用 histplot()
函数绘制 total_bill
列的直方图,kde=True
表示同时绘制核密度估计曲线,最后使用 plt.show()
显示图形。
2. 双变量联合分布可视化
功能
jointplot()
函数用于创建双变量的联合分布图,既能展示两个变量各自的分布,又能显示它们之间的关系。
代码
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
# 绘制 total_bill 和 tip 两列的联合分布图
sns.jointplot(x="total_bill", y="tip", data=tips, kind="scatter")
plt.show()
这里通过 jointplot()
函数,以散点图的形式展示了 tips
数据集中 total_bill
和 tip
两列之间的关系,同时在坐标轴上分别展示了它们各自的单变量分布。
3. 分类数据柱状图可视化
功能
barplot() 函数用于绘制柱状图,可比较不同类别之间的均值等统计量。
代码
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
# 绘制不同日子的平均总账单柱状图
sns.barplot(x="day", y="total_bill", data=tips)
plt.show()
此代码使用 barplot()
函数,根据 tips
数据集绘制了不同日期(day
列)对应的平均总账单(total_bill
列)的柱状图,方便比较不同日期的消费情况。
4. 箱线图可视化分类数据分布
功能
boxplot()
函数绘制箱线图,能展示数据的分布范围、中位数、四分位数以及异常值等信息。
代码
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
# 绘制不同日子总账单的箱线图
sns.boxplot(x="day", y="total_bill", data=tips)
plt.show()
该代码利用 boxplot()
函数绘制了 tips
数据集中不同日期(day
列)对应的总账单(total_bill
列)的箱线图,帮助我们分析不同日期消费数据的分布特征。
5. 线性回归关系可视化
功能
lmplot() 函数绘制线性回归图,不仅显示数据点的分布,还能拟合一条线性回归线,分析两个连续变量之间的线性关系。
代码
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
# 绘制 total_bill 和 tip 之间的线性回归图
sns.lmplot(x="total_bill", y="tip", data=tips)
plt.show()
这段代码通过 lmplot()
函数在 tips
数据集中绘制了 total_bill
和 tip
之间的线性回归图,从图中可以观察到两者之间的线性趋势。
6. 多变量关系矩阵可视化
功能
pairplot()
函数创建一个包含多个子图的图形,展示数据集中多个变量之间的两两关系,适用于探索性数据分析。
代码
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
# 绘制 iris 数据集多个变量的关系矩阵图
sns.pairplot(iris)
plt.show()
此代码使用 pairplot()
函数对 iris
数据集进行可视化,展示了数据集中多个变量之间的两两关系,有助于全面了解数据集中变量之间的相互关系。
热力图可视化数据相关性
功能
heatmap()
函数用于绘制热力图,通过颜色深浅表示数值大小,适合展示二维数据矩阵,如相关系数矩阵。
代码
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 生成示例数据
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 计算相关系数矩阵
corr_matrix = df.corr()
# 绘制热力图
sns.heatmap(corr_matrix, annot=True)
plt.show()
该代码首先创建了一个示例数据框,然后计算其相关系数矩阵,最后使用 heatmap()
函数绘制热力图,annot=True
表示在图中显示具体的数值,方便分析变量之间的相关性。