Skip to content

📊 Matplotlib中的10种直方图类型(附示例)

Updated on

探索Matplotlib中10种不同的直方图,包括基础、彩色、归一化、累积等多种类型。学习如何使用代码示例轻松创建每一种。

直方图是数据分布可视化中最常用的工具之一。借助Python的matplotlib,你可以以多种方式自定义直方图,以更好地理解你的数据。

在这篇文章中,我们将探讨10种不同类型的直方图,它们的用途,以及如何使用示例代码轻松创建每一种。


1. 基本直方图

基本直方图

📌 用途:

可视化数据集的频数分布。

plt.hist(data)
plt.title("基本直方图")
plt.xlabel("值")
plt.ylabel("频数")

2. 自定义分箱的直方图

自定义分箱的直方图

📌 用途:

通过调整箱子数量,控制直方图的分辨率。

plt.hist(data, bins=20)
plt.title("自定义分箱的直方图")

3. 彩色直方图

彩色直方图

📌 用途:

使直方图更易阅读或配合你的配色方案。

plt.hist(data, color='skyblue', edgecolor='black')
plt.title("彩色直方图")

4. 归一化直方图(密度图)

归一化直方图

📌 用途:

显示概率密度而非原始频数 — 适合比较不同分布。

plt.hist(data, density=True, color='lightgreen', edgecolor='black')
plt.title("归一化直方图(密度)")

5. 累积分布直方图

累积分布直方图

📌 用途:

可视化数据的累计和,有助于理解数据随时间或值的累积情况。

plt.hist(data, cumulative=True, color='orange', edgecolor='black')
plt.title("累积分布直方图")

6. 含KDE叠加的直方图

含KDE叠加的直方图

📌 用途:

叠加平滑的密度曲线,估计分布形状。

import seaborn as sns
sns.histplot(data, kde=True, color='mediumpurple', edgecolor='black')
plt.title("含KDE叠加的直方图")

7. 堆叠直方图

堆叠直方图

📌 用途:

比较多个分布并观察它们对总和的贡献。

plt.hist([data1, data2], stacked=True, color=['steelblue', 'salmon'], edgecolor='black')
plt.title("堆叠直方图")
plt.legend(['数据集1', '数据集2'])

8. 步进样式直方图

步进样式直方图

📌 用途:

仅显示轮廓线的直方图(适合比较多组数据且避免杂乱)。

plt.hist(data, histtype='step', color='darkgreen')
plt.title("步进样式直方图")

9. 横向直方图

横向直方图

📌 用途:

翻转坐标轴 — 当y轴标签更有意义或空间有限时使用。

plt.hist(data, orientation='horizontal', color='plum', edgecolor='black')
plt.title("横向直方图")

10. 加权直方图

加权直方图

📌 用途:

对每个值应用权重 — 当数据点的重要性或频率不同。

weights = np.random.rand(len(data))
plt.hist(data, weights=weights, color='goldenrod', edgecolor='black')
plt.title("加权直方图")

🧠 最后总结

直方图不仅仅是简单的柱形图 — 通过不同的样式,能够传达数据中的特定洞察。无论你是在做探索性数据分析(EDA)还是准备最终报告,掌握这些变体能让你的数据讲述更加有力。