2

1行3列の図形を作ろうとして、いろいろと苦労しています。1 つには、私のサブプロットが非常に小さなスライバーであることが判明し、カラーバーを追加しようとするとエラーが発生します。サブプロットをボックスにして、カラーバーを右端に表示するにはどうすればよいですか?

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: カラーバーの作成に使用するマップ可能ファイルが見つかりませんでした。最初に、イメージ (imshow を使用) や輪郭セット (contourf を使用) などのマッピング可能オブジェクトを定義します。

4

1 に答える 1