以下代码用于生成3个子图。并且在所有3个子图中都提到了规模。我想以这样的方式堆叠它们,即x轴和y轴比例会一次出现。我可以使用plt.subplot()来获取此图,还是必须使用fig.add_axes来获得图?我实际上想对子图进行此操作,因为在fig.add_subplot中,我必须指定不需要的每个图的宽度和高度。
`fig,axes = plt.figure(nrow=3, ncolmn=1)
ax1 = fig.add_subplot(311)
ax2 = fig.add_subplot(312)
ax3 = fig.add_subplot(313)
ind1 =[1,2,3]
ind2 = [4,5,6]
for i in range(len(3)):
data1=np.load(..)
data2=np.load(..)
axes[i].plot(data1, data2)`
答案 0 :(得分:0)
这是使用subplots_adjust
的一种解决方案,其中您使用hspace
将两个图之间的间隔设为0。另外,使用sharex=True
共享x轴
fig, axes = plt.subplots(nrows=3, ncols=1,sharex=True)
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
for i, ax in enumerate(axes.ravel()): # or axes.flatten() or axes.flat
ax.plot(x, y, label='File %d' %i)
ax.legend()
fig.text(0.5, 0.01, 'X-label', ha='center')
fig.text(0.01, 0.5, 'Y-label', va='center', rotation='vertical')
plt.tight_layout() # To get a better spacing between the subplots
plt.subplots_adjust(hspace=.0)