hist函数是Python中matplotlib库中的一个函数,用于绘制直方图。它接受一维数组作为输入,并将数据分成多个区间,然后统计每个区间内数据的频数,并将频数以柱状图的形式展示出来。下面将从多个方面对Python中hist返回结果进行详细阐述。
一、hist返回结果的数据结构
hist函数返回一个元组,包含三个元素。第一个元素是一个array列表,表示每个区间的频数。第二个元素是一个array列表,表示每个区间的边界。第三个元素是一个matplotlib容器对象,用于绘制直方图。
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(1000)
hist_data = plt.hist(data)
print(hist_data)
运行以上代码,hist_data将输出如下结果:
(array([ 6., 30., 97., 168., 265., 222., 140., 60., 7., 5.]), array([-3.45747801, -2.75779061, -2.05810322, -1.35841582, -0.65872842, 0.04095897, 0.74064637, 1.44033376, 2.14002116, 2.83970855, 3.53939595]), <BarContainer object of 10 artists>)
上述结果中,第一个元素表示每个区间的频数,第二个元素表示每个区间边界的值。第三个元素是matplotlib的容器对象,可以用于进一步调整直方图的样式。
二、hist的参数设置
hist函数提供了一系列的参数,用于控制直方图的展示效果。下面介绍几个常用参数:
1. bins参数
bins参数指定直方图的区间数,默认为10。可以根据数据的分布情况调整区间数,以更好地展示数据的分布情况。
plt.hist(data, bins=20)
2. range参数
range参数用于指定数据的取值范围。默认情况下,range的取值范围是数据的最大值和最小值。可以根据需要自定义取值范围。
plt.hist(data, range=(-1, 1))
3. color参数
color参数用于指定直方图的颜色。可以使用常见的颜色名称或者十六进制颜色码。
plt.hist(data, color='red')
三、基本图形样式调整
通过调整matplotlib的各种属性,可以进一步美化直方图。
1. 调整柱状图的宽度
可以通过设置相邻柱状图之间的间距,控制柱状图的宽度。通过调整参数width的值,可以改变柱状图的宽度。
plt.hist(data, width=0.5)
2. 添加标题和轴标签
可以通过调用plt.title()函数和plt.xlabel()/plt.ylabel()函数,添加直方图的标题和轴标签。
plt.hist(data)
plt.title('Histogram of Data')
plt.xlabel('Values')
plt.ylabel('Frequency')
3. 调整坐标轴范围
可以通过调用plt.xlim()和plt.ylim()函数,调整直方图的坐标轴范围。
plt.hist(data)
plt.xlim(-3, 3)
plt.ylim(0, 300)
四、其他相关函数
除了hist函数之外,还有一些与直方图相关的函数可供使用。
1. hist2d函数
hist2d函数用于绘制二维直方图。它接受两个一维数组作为输入,分别表示x轴和y轴的数据。
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.hist2d(x, y)
2. np.histogram函数
np.histogram函数与hist函数类似,用于计算直方图的频数和区间边界。它返回两个数组,分别表示频数和边界。
hist, bins = np.histogram(data)
print(hist, bins)
3. plt.bar函数
plt.bar函数可以用于绘制柱状图,也可以用于绘制直方图。它接受两个数组作为输入,分别表示x轴和y轴的数据。
plt.bar(bins[:-1], hist, width=0.5)
通过以上的代码示例和解释,我们对Python中hist返回结果进行了详细的阐述。通过使用hist函数和相关的参数,我们可以轻松地绘制出直方图,并根据需要调整直方图的样式。
原创文章,作者:WQMX,如若转载,请注明出处:https://www.beidandianzhu.com/g/3171.html