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()添加文字说明

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()


参考:












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值