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指定直方图的颜色。
出现警告提示:
/home/linuxidc/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6521: MatplotlibDeprecationWarning:
The ‘normed’ kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use ‘density’ instead.
alternative=”‘density'”, removal=”3.1″)
意思就是把:normed 换成 density 即可解决问题
下面绘制的一个高斯函数曲线是为了证明这个伪随机序列是符合高斯正态分布的。
绘制结果如下:
更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.as
转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn