文章目录
前言什么是直方图?plt.hist 函数的基本用法plt.hist 的常用参数示例代码基本直方图归一化直方图累积直方图
前言
plt.hist
函数用于绘制直方图。直方图是一种用来表示数据分布的图形,它将数据分成若干个区间,然后统计每个区间中数据的数量,最终以柱状图的形式展示出来。
什么是直方图?
直方图主要用于可视化数据的分布情况。它将数据划分为一系列的区间(也称为箱子或柱子),然后计算每个区间内数据点的数量。这些数量通常用柱状图表示,柱子的高度表示该区间内数据点的数量。
plt.hist 函数的基本用法
import matplotlib.pyplot as pltdata = [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.xlabel
、plt.ylabel
和 plt.title
函数来添加横轴标签、纵轴标签和标题。
plt.hist 的常用参数
bins
:用于指定数据分成的区间数量,可以是一个整数,也可以是一个区间列表。如果不指定该参数,matplotlib 会自动选择合适的区间数量。
range
:用于指定数据的取值范围,以元组的形式传递,例如 (0, 10)
表示只考虑数据在 0 到 10 之间的部分。
density
:如果设置为 True
,则直方图的面积将归一化为 1,这样可以将直方图视为概率密度函数。
color
:用于设置直方图的颜色。
alpha
:用于设置直方图的透明度。
edgecolor
:用于设置直方图柱子的边缘颜色。
cumulative
:如果设置为 True
,则绘制累积直方图,显示每个区间内数据点的累积数量。
示例代码
基本直方图
import matplotlib.pyplot as pltdata = [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 pltdata = [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 pltdata = [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()