📅  最后修改于: 2023-12-03 15:32:51.345000             🧑  作者: Mango
Matplotlib是一个用于可视化数据的Python库,其中histogram(直方图)是一个常见的统计图表类型。直方图可用于显示数据集中每个区间(bin)的频率分布。
本示例演示如何使用matplotlib库绘制直方图。我们将使用numpy生成随机数据,并使用matplotlib的hist()函数生成直方图。
我们需要在终端或者命令行窗口中使用pip安装以下模块:
pip install matplotlib
pip install numpy
导入所需的库:
import matplotlib.pyplot as plt
import numpy as np
生成随机数据:
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
mu是正态分布的均值, sigma是标准差,np.random.randn()生成符合正态分布的随机数据数组。
生成直方图:
n, bins, patches = plt.hist(x, 50, density=1, facecolor='g', alpha=0.75)
此代码块将生成50个区间的直方图,并着色绿色,透明度为0.75。
添加标签和标题:
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
此代码块将添加X轴和Y轴标签,以及图表标题。
添加文本和箭头:
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
此代码块将在x=60,y=0.025的位置添加文本,并添加箭头。它还将限制坐标轴的范围,以增加图表的可读性,并在图表中添加网格线。
最后,使用plt.show()
函数显示图表:
plt.show()
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
# 生成直方图
n, bins, patches = plt.hist(x, 50, density=1, facecolor='g', alpha=0.75)
# 添加标签和标题
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
# 添加文本和箭头
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
# 显示图表
plt.show()