我的目标是绘制三个图形作为子图,并为其中三个只使用一个颜色条,我已经尝试通过制作一个包含 4 个子图的图形来实现,如下面的代码所示:
fig=plt.figure()
ax1=plt.subplot(1,3,1)
im=ax1.contourf( MC, 50,vmax=Max_abs,vmin=Min_abs)
x0,x1 = ax1.get_xlim()
y0,y1 = ax1.get_ylim()
ax1.set_aspect((x1-x0)/(y1-y0))
ax2=plt.subplot(1,3,2,aspect=1)
im2=ax2.contourf( averagedM, 50,vmax=Max_abs,vmin=Min_abs)
ax3=plt.subplot(1,3,3,aspect=1)
im3=ax3.contourf( residualM, 50,vmax=Max_abs,vmin=Min_abs)
#cax = divider.append_axes("right", size="5%", pad=0.05)
im4 = plt.colorbar(im3, ax=[ax1, ax2, ax3])
#cb.ax.set_visible(True)
plt.show()
矩阵 M1、M2 和 M3 之前在代码中计算过,但我想对于我的问题来说这不是很重要。问题是颜色条不适合其余图的大小,关于此主题已经提出了一些类似的问题,但没有一个对我的代码有用,所以我想知道如何在此调整颜色条具体案例。
因为您将子图的纵横比固定为 1,所以子图不会调整到图形的大小,但颜色条会。如果你不这样做,子图将与颜色条一样高(但不再是二次方,当然......)。
反过来,您可以简单地定义一个图形大小,它适合三个二次图加上一个颜色条的所需纵横比,例如:
fig = plt.figure(figsize=(12, 3))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句