当前位置: 首页 > 知识库问答 >
问题:

Python-matplotlib中不同大小的子图[重复]

伏建修
2023-03-14

第二个数字,我想补充:

我尝试:

plt.close()

font={'family':'sans-serif','weight':'normal','size':'14'}
plt.rc('font',**font)

fig, axes = plt.subplots(nrows=3, ncols=1)


plt.tight_layout(pad=0.05, w_pad=0.001, h_pad=2.0)
ax1 = plt.subplot(231) # creates first axis

#ax1.text(20, 2500, 'CYCLE :', size=14) 

#ax1.text(1000, 2500, str((image)*50+50), size=14) 

ax1.tick_params(labelsize=8) 
ax1.set_xticks([0,2000,500,1000,1500])
ax1.set_yticks([0,2000,500,1000,1500])
ax1.tick_params(labelsize=8) 
ax1.imshow(mouchetis[::-1,::],alpha=0.6)
ax1.imshow(V_exp_invmaskA,cmap='hot',extent=(X.min(),2015,Y.min(),2015), alpha=0.4)
i1 = ax1.imshow(V_maskA,cmap='hot',extent=(X.min(),2015,Y.min(),2015),alpha=0.8)
ax1.set_xticklabels([0,2000,500,1000,1500])
ax1.set_yticklabels([0,2000,500,1000,1500])
ax1.set_title("MASQUE A", y=1.05, fontsize=10)


ax2 = plt.subplot(232) # creates second axis
ax2.set_xticks([0,2000,500,1000,1500])
ax2.set_yticks([0,2000,500,1000,1500])
ax2.imshow(mouchetis[::-1,::],alpha=0.6)
ax2.imshow(V_exp_invmaskB,cmap='hot',extent=(X.min(),2015,Y.min(),2015), alpha=0.4)
i2 = ax2.imshow(V_maskB,cmap='hot',extent=(X.min(),2015,Y.min(),2015),alpha=0.8)
ax2.set_title("MASQUE B", y=1.05, fontsize=10)
ax2.set_xticklabels([])
ax2.set_yticklabels([])


ax3 = plt.subplot(233) # creates first axis
ax3.set_xticks([0,2000,500,1000,1500])
ax3.set_yticks([0,2000,500,1000,1500])
ax3.imshow(mouchetis[::-1,::],alpha=0.6)
ax3.imshow(V_exp_invmaskC,cmap='hot',extent=(X.min(),2015,Y.min(),2015), alpha=0.4)
i3 = ax3.imshow(V_maskC,cmap='hot',extent=(X.min(),2015,Y.min(),2015),alpha=0.8)
ax3.set_xticklabels([])
ax3.set_yticklabels([])

#在这里我添加了第四个数字,但我不知道我该怎么做...

ax4 = plt.subplot(234)
ax4.plot(cycles,res_meanA,'ko',label='A',markersize=5,markerfacecolor='None')

ax4.legend(loc=2,prop={'size':12})
ax4.subplots_adjust(left=0.15)
plt.show()

共有3个答案

仲孙阳
2023-03-14
import pylab as pl
ax1 = pl.subplot(2, 3, 1)
ax2 = pl.subplot(2, 3, 2)
ax3 = pl.subplot(2, 3, 3)
ax4 = pl.subplot(2, 1, 2)
邓德厚
2023-03-14

创建轴时,您应该查看GridSpec留档以获得更多灵活性

ax1 = plt.subplot2grid((2,3),(0,0))
ax2 = plt.subplot2grid((2,3),(0,1))
ax3 = plt.subplot2grid((2,3),(0,2))
ax4 = plt.subplot2grid((2,3),(1,0), colspan=3)
杜炫明
2023-03-14

使用gridspec

from matplotlib.gridspec import GridSpec
import matplotlib.pyplot as plt

fig=plt.figure()

gs=GridSpec(2,3) # 2 rows, 3 columns

ax1=fig.add_subplot(gs[0,0]) # First row, first column
ax2=fig.add_subplot(gs[0,1]) # First row, second column
ax3=fig.add_subplot(gs[0,2]) # First row, third column
ax4=fig.add_subplot(gs[1,:]) # Second row, span all columns

fig.savefig('gridspec.png')
 类似资料:
  • 我需要在一个图形中添加两个子图。一个子图的宽度必须是第二个子图的三倍(相同高度)。我使用和参数实现了这一点,但我想使用实现这一点,这样我就可以保存到PDF。我可以使用构造函数中的参数调整第一个图形,但是如何更改第二个绘图的大小?

  • 问题内容: 与这个问题非常相似,但不同之处在于我的身材可以达到所需的大小。 我需要在matplotlib中生成一堆垂直堆叠的图。结果将使用figsave保存并在网页上查看,所以我不在乎最终图像的高度,只要子图之间的间距不重叠即可。 无论我允许多大的身材,子图似乎总是重叠的。 我的代码目前看起来像 问题答案: 试使用 作为一个简单的例子: 没有紧凑的布局

  • 本文向大家介绍Python+matplotlib绘制不同大小和颜色散点图实例,包括了Python+matplotlib绘制不同大小和颜色散点图实例的使用技巧和注意事项,需要的朋友参考一下  具有不同标记颜色和大小的散点图演示。 演示结果: 实现代码: 总结 以上就是本文关于Python+matplotlib绘制不同大小和颜色散点图实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他

  • 问题内容: 我正在使用matplotlib制作直方图。 有什么方法可以手动设置垃圾箱的大小,而不是垃圾箱的数量吗? 问题答案: 实际上,这很简单:您可以提供一个带有bin边界的列表,而不是bin的数量。它们也可能分布不均: 如果只希望它们均匀分布,则可以使用range: 添加到原始答案 上一行仅适用于整数填充。正如macrocosme所指出的,对于浮点数,您可以使用:

  • 问题内容: 我有一个在matplotlib中生成的大图。我想在此图的某些(x,y)坐标处添加一些图标。我想知道在matplotlib中是否有任何方法可以做到这一点 谢谢 问题答案: 绝对有可能。这是一个开始: 图标重叠http://up.stevetjoa.com/iconoverlap.png 在此示例中,未根据图的(x,y)坐标定义图标的位置。也许其他人可以帮助您。不过,我希望这个例子对您有所

  • 问题内容: 我试图用风玫瑰的4个子图制作一个人物,但是我意识到风玫瑰只有这样的轴:那么,我如何用风玫瑰画一个子图? 问题答案: 有两种解决方案: (a)从矩形创建轴 首先,这里已经存在一个类似的问题:如何将特定轴添加到matplotlib子图中? 在那里,解决方案是在图中创建一个具有新子图轴坐标的矩形,然后调用 一个更容易理解的例子是 (b)添加投影 现在创建该矩形可能会很烦人,并且能够使用mat