我想绘制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