我想繪製4個子圖,每個子圖具有相等的縱橫比和單獨的顏色條。我差不多完成了,但是我的字體非常大,並且顏色條與X軸標題重疊時位置很差;看到附加的代碼和生成的圖像。如何獲得更好的結果?matplotlib具有相等縱橫比和個別顏色條的子圖
import numpy
import matplotlib.pyplot as plt
data = numpy.random.random((3, 10))
fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=4)
im1 = ax1.pcolormesh(data)
ax1.set_title('IM1')
im2 = ax2.pcolormesh(data)
ax2.set_title('IM2')
im3 = ax3.pcolormesh(data)
ax3.set_title('IM3')
im4 = ax4.pcolormesh(data)
ax4.set_title('IM4')
for ax, tc in zip((ax1, ax2, ax3, ax4), (im1, im2, im3, im4)):
ax.tick_params(direction='out', which='both', top=True, right=True)
ax.minorticks_on()
ax.set_aspect('equal')
ax.set_xlabel('$x$')
ax.set_ylabel('$y$')
fig.colorbar(tc, ax=ax, orientation='horizontal')
fig.tight_layout()
fig.savefig('im.png', dpi=300, bbox_inches='tight')
我不知道的colorbars的正確自動定位,但我可以指定數字的大小,以使字體比例的建議提供。例如:'... plt.subplots(...,figsize =(50,10))' –
我不確定是否決定讓4個子圖形垂直堆疊是由於其他約束,但是停止重疊標籤等可以通過不同的子圖的佈局變得更容易。 – DavidG