欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Subplot

时间:2023-04-25

我们添加前提条件

plt.figure()plt.show()

我们要使用subplot进行多合一显示,即需如下代码

plt.subplot(2,2,1)plt.plot([0,1],[0,1])

效果如下

如我们需要把这个figure填满则需要

plt.subplot(2,2,2)plt.plot([0,1],[0,1])plt.subplot(2,2,3)plt.plot([0,1],[0,1])plt.subplot(2,2,4)plt.plot([0,1],[0,1])

效果如下

如果我们想把图一占满第一排,则需更改:

plt.subplot(2,1,1)plt.plot([0,1],[0,1])plt.subplot(2,3,4)#注意这是4,不是2plt.plot([0,1],[0,1])plt.subplot(2,3,5)plt.plot([0,1],[0,1])plt.subplot(2,3,6)plt.plot([0,1],[0,1])


subplot还有还有三种用法
第一种就是subplot2grid

plt.figure()ax1=plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)ax1.plot([1,2],[1,2])ax1.set_title('ax1_title')

效果如下

我们继续完善,加入如下代码

ax2=plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)ax3=plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2)ax4=plt.subplot2grid((3,3),(2,0),colspan=1,rowspan=1)ax4=plt.subplot2grid((3,3),(2,1),colspan=1,rowspan=1)

效果如下

方法2
我们先要再引入一个模块

import matplot.gridspec as gridspecplt.figure()gs=gridspec.GridSpec(3,3)ax1=plt.subplot(gs[0,:])ax2=plt.subplot(gs[1,:2])ax3=plt.subplot(gs[1:,2])ax4=plt.subplot(gs[-1,0])ax5=plt.subplot(gs[-1,-2])

效果如下

第三种方法

f,((ax11,ax12),(ax21,ax22))=plt.subplots(2,2,sharex=True,sharey=True)#这里有sax11.scatter([1,2],[1,2])

效果如下

最后就是subplot的图中图

fig=plt.figure()x=[1,2,3,4,5,6,7]y=[1,3,4,2,5,8,6]left,bottom,width,height=0.1,0.1,0.8,0.8ax1=fig.add_axes([left,bottom,width,height])ax1.plot(x,y,'r')left,bottom,width,height=0.2,0.6,0.25,0.25ax2=fig.add_axes([left,bottom,width,height])ax2.plot(y,x,'b')

效果如下

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。