Python中使用matplotlib绘制灰度直方图

下面直接看代码:

import matplotlib.pyplot as plt
import numpy as np

random_state = np.random.RandomState(19680801)
X = random_state.randn(10000)

fig, ax = plt.subplots()
ax.hist(X, bins=25, normed=True, color = 'yellow')
x = np.linspace(-5, 5, 1000)
ax.plot(x, 1 / np.sqrt(2*np.pi) * np.exp(-(x**2)/2), linewidth=4)
plt.show()

代码解读:

首先是使用random类生成数目为10000的伪随机数,接着使用pyplot模块中的subplots接口创建一个绘制对象,使用hist()成员函数开始绘制灰度直方图,第一个参数是随机数序列,bins指定直方的个数,normed指定是否进行归一化,而color指定直方图的颜色。

出现警告提示:

意思就是把:normed 换成 density  即可解决问题

下面绘制的一个高斯函数曲线是为了证明这个伪随机序列是符合高斯正态分布的。

绘制结果如下:

Python中使用matplotlib绘制灰度直方图

猜你喜欢

转载自www.linuxidc.com/Linux/2019-04/158046.htm