python将多图绘制在同一画布中

python将多图绘制在同一画布中

matplotlib绘图

最近在上python数据分析课程,结合之前自己自学和会议论文里面遇到的数据可视化总结了一下多图绘制在一块画布的两种写法。
下面是一张七行一列的图片,是我在EMD算法中对原始信号分解得到的,在这之前我已经有七个数组的数据了,我的需求就是把七个数组绘制到同一幅图并且每个y轴都加上信号信息:
![这是一张七行一列的图片,是我在EMD算法中对原始信号分解得到的,在这之前我已经有七个数组的数据了,我的需求就是把七个数组绘制到同一幅图并且每个y轴都加上信号信息]## ax[0,0]方式的
信号分解

axs[3,3]绘制子图

这是我的代码:
在这里插入图片描述

fig,axs = plt.subplots(3,3,sharex=True,sharey=False,figsize=(14,8))
#创建画布,3*3就是有9张子图,sharex是指共享x轴,figsize为图片尺寸
axs[0,0].plot(x,y)
axs[0,0].set_ylabel("1")
#axs[0,0]为第一行第一列的子图,set_ylabel为给y轴添加标签
axs[1,1].plot(x1,y1)
axs[1,1].set_ylabel("2")
#同上
axs[1,2].plot(x2,y2)
axs[1,2].set_ylabel("3")
axs[2,1].plot(x3,y3)
axs[2,1].set_ylabel("4")
axs[2,2].plot(x4,y4)
axs[2,2].set_ylabel("5")

plt.subplots_adjust(hspace=0,wspace=0)
#hspace为调整子图之间的高度间距,同理宽度是wspace
plt.xlabel('t/s')
#设置x轴标签
plt.savefig('例子')
#保存图片,如果是在jupyter里面的话需要在展示图片之前保存
plt.show()

在这里插入图片描述

subplot(333)绘制子图

在这里插入图片描述

plt.figure(figsize=(12, 10))
ax1=plt.subplot2grid((2,2),(0,0),colspan=1,rowspan=1)
#第一个括号的(2,2)表示将画布分割成2*2,(0,0)表示该子图从位置(0,0)开始,
#colspan和rowspan分别表示子图占用的行长度和列长度
ax1.plot(x,y)  
ax1.set_ylabel("1")
ax2=plt.subplot2grid((2,2),(0,1),colspan=1,rowspan=1)
ax2.plot(x1,y1)
ax2.set_ylabel("2")
ax3=plt.subplot2grid((2,2),(1,0),colspan=2,rowspan=1)
ax3.plot(x2,y2)
ax3.set_ylabel("3")

plt.savefig('例子2')
plt.show()

在这里插入图片描述

我的第二种方法是引用了博客园大神 短短的路走走停停 的代码:https://www.cnblogs.com/dengfaheng/p/12720431.html
我学会的两种方法就介绍到这里,希望对大家有帮助,有错误和不足也欢迎指出,毕竟我也是初学者哈哈~

  • 11
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值