我正在尝试创建一个具有 1 行和 3 列的图形并在很多事情上苦苦挣扎。一方面,我的子图变成了非常小的小条,尝试添加颜色条时出现错误。如何使子图成为框并且颜色条显示在最右侧?
rmax0、rmax1 和 rmax2 的范围都在 0 到 700 之间(大多数小于 200),fspd 的范围在 0 到 10 之间。
import matplotlib.pyplot as plt
import numpy as np
ax1 = plt.subplot(131)
nice = plt.get_cmap('BuPu')
bins1 = np.arange(0,700,700/50.0)
bins2 = np.arange(0,10,10/50.0)
h,xedges,yedges = np.histogram2d(rmax0,fspd,bins=[bins1,bins2],normed=True)
X,Y = np.meshgrid(xedges,yedges)
ax1.pcolormesh(X, Y, h,cmap=nice)
ax1.set_aspect('equal')
plt.xlim([0,200])
plt.ylim([0,10])
ax2 = plt.subplot(132)
h,xedges,yedges = np.histogram2d(rmax1,fspd,bins=[bins1,bins2],normed=True)
X,Y = np.meshgrid(xedges,yedges)
ax2.pcolormesh(X, Y, h,cmap=nice)
ax2.set_aspect('equal')
plt.xlim([0,200])
plt.ylim([0,10])
ax3 = plt.subplot(133)
h,xedges,yedges = np.histogram2d(rmax2,fspd,bins=[bins1,bins2],normed=True)
X,Y = np.meshgrid(xedges,yedges)
ax3.pcolormesh(X, Y, h,cmap=nice)
ax3.set_aspect('equal')
plt.xlim([0,200])
plt.ylim([0,10])
plt.colorbar()
plt.show()
当我添加 plt.colorbar() 行时,我收到以下错误: RuntimeError: No mappable was found to use for colorbar creation。首先定义一个可映射的对象,例如图像(使用 imshow)或轮廓集(使用 contourf)。