前言

plt.hist 函数用于绘制直方图。直方图是一种用来表示数据分布的图形,它将数据分成若干个区间,然后统计每个区间中数据的数量,最终以柱状图的形式展示出来。

什么是直方图?

直方图主要用于可视化数据的分布情况。它将数据划分为一系列的区间(也称为箱子或柱子),然后计算每个区间内数据点的数量。这些数量通常用柱状图表示,柱子的高度表示该区间内数据点的数量。

plt.hist 函数的基本用法

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data, bins=5)  # bins 参数表示要将数据分成多少个区间
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram Example')
plt.show()

在这个示例中,我们传递了一个名为 data 的数据列表给 plt.hist 函数,并指定了 bins 参数为 5,表示将数据分成 5 个区间。使用 plt.xlabelplt.ylabelplt.title 函数来添加横轴标签、纵轴标签和标题。

plt.hist 的常用参数

  • bins:用于指定数据分成的区间数量,可以是一个整数,也可以是一个区间列表。如果不指定该参数,matplotlib 会自动选择合适的区间数量。

  • range:用于指定数据的取值范围,以元组的形式传递,例如 (0, 10) 表示只考虑数据在 0 到 10 之间的部分。

  • density:如果设置为 True,则直方图的面积将归一化为 1,这样可以将直方图视为概率密度函数。

  • color:用于设置直方图的颜色。

  • alpha:用于设置直方图的透明度。

  • edgecolor:用于设置直方图柱子的边缘颜色。

  • cumulative:如果设置为 True,则绘制累积直方图,显示每个区间内数据点的累积数量。

示例代码

基本直方图

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data, bins=5, edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Basic Histogram')
plt.show()

归一化直方图

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data, bins=5, density=True, alpha=0.6, color='g', edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.title('Normalized Histogram')
plt.show()

累积直方图

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data, bins=5, cumulative=True, edgecolor='black', color='r')
plt.xlabel('Value')
plt.ylabel('Cumulative Frequency')
plt.title('Cumulative Histogram')
plt.show()

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐