用matplotlib.pyplot绘图
import matplotlib.pyplot as plt
import numpy as np
# x = [4 * np.pi * i / 100 for i in range(100)]
# y = [math.cos(i) for i in x]
x = np.arange(0, 4 * np.pi, 0.1)
y = np.cos(x)
plt.figure("tk") # 命名绘图窗口
plt.xlabel("x")
plt.ylabel("y")
plt.plot(x, y)
plt.text(4, 1, "y=cos(x)") # 在(4, 1)的位置添加注解
plt.show()
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) * np.sin(2 * np.pi * t)
t1 = np.arange(0.0, 5.0, 0.1) # 返回一个有终点和起点的固定步长的排列
t2 = np.arange(0.0, 5.0, 0.02)
fig = plt.figure(1) # 新建一个名叫Figure1的画图窗口
plt.subplot(211) # 图像是2×1的,即最多2张图,当前绘制的子图为第一个(按行顺序数)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') # b为blue,o为实心圆,k为black
plt.subplot(212)
plt.plot(t2, np.sin(2 * np.pi * t2), 'r--') # r为red,--为破折线
plt.show()
随机生成满足mu为100 、sigma为20的正态分布的10万个智商数据,使用Matplotlib.pyplot的hist()函数绘制其直方图
import numpy as np
import matplotlib.pyplot as plt
# 随机生成满足mu为100、sigma为20的正态分布的10万个智商数据
mu, sigma = 100, 20
x = mu + sigma * np.random.randn(100000)
plt.hist(x, bins=50, density=1, facecolor='g', alpha=0.75)
'''
bins指定有几条柱状图,alpha设置透明度
参数normed已弃用,改为density,如果为True,则返回元组的第一个元素将是归一化的计数,以形成概率密度,即n/(len(x)`dbin),
即直方图的积分总和为1。如果“stacked”也为True,直方图的总和将被归一化为1。
'''
plt.xlabel('IQ')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.axis([40, 180, 0, 0.03]) # 横纵坐标范围
plt.grid(True) # 设置网格
plt.show()