python3 Matplotlib基础(2)

(6)Matplotlib绘制多个子图

plt.subplot()

import matplotlib.pyplot as plt
import numpy as np

x1=np.linspace(0.0,5.0)                 #横坐标从0-5
x2=np.linspace(0.0,2.0)
x3=np.linspace(0.0,10.0)


y1=np.cos(2*np.pi*x1)*np.exp(-x1)
y2=np.cos(2*np.pi*x2)
y3=x3*x3+2


plt.subplot(2,2,1)                       #在两行两列第一个
plt.plot(x1,y1,'o-')
plt.title('A tale of 2 subplot')
plt.ylabel('Damped oscillation')


plt.subplot(2,2,2)                       #在两行两列第二个
plt.plot(x2,y2,'.-')
plt.title('time(s)')
plt.ylabel('Undamped')


plt.subplot(2,1,2)                       #在两行一列第二个
plt.plot(x3,y3,'^-')
plt.title('x3data')
plt.ylabel('y3data')

plt.show()


面向对象

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(1)
data=np.random.randn(2,100)

fig,axs=plt.subplots(2,2,figsize=(5,5))
axs[0,0].hist(data[0])                #axs[0,0]代表在坐标系左上
axs[1,0].scatter(data[0],data[1])
axs[0,1].plot(data[0],data[1])
axs[1,1].hist2d(data[0],data[1])

fig.subplots_adjust(hspace=0.8)   #子图的垂直间隔
plt.show()

plt.figure()

你可以多次使用figure命令来产生多个图,其中,图片号按顺序增加。这里,要注意一个概念当前图和当前坐标。所有绘图绘图操作仅对当前图和当前坐标有效。

import matplotlib.pyplot as plt

plt.figure(1)          #第一张图
plt.subplot(211)       #第一张图中的第一张子图
plt.plot([1,2,3])      
plt.subplot(212)       #第一张图中的第二张子图
plt.plot([4,5,6])

plt.figure(2)          #第二张图
plt.plot([4,5,6])      #默认创建子图subplot(111)

plt.figure(1)          #切换到figure 1;子图subplot(212)仍旧是当前图
plt.subplot(211)       #令子图subplot(211)成为figure1的当前图
plt.title('Easy as 1,2,3')    #添加subplot 211 的标题

plt.show()




plt.text()添加文字说明

扫描二维码关注公众号,回复: 959202 查看本文章
import matplotlib.pyplot as plt

mu ,sigma=100,15
x = mu + sigma * np.random.randn(10000)

#数据的直方图
n,bins,patches = plt.hist(x,50,normed=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()


参考:












猜你喜欢

转载自blog.csdn.net/qq_38534627/article/details/80354600
今日推荐