2
我試圖創建一個圖1行和3列,並與許多事情掙扎。首先,我的子圖會變成非常小的薄片,當我嘗試添加一個顏色條時出現錯誤。我怎樣才能使subplots成爲盒子,並且顏色條顯示在最右側?改變subplot尺寸,並添加直方圖colord2
rmax0,rmax1,和rmax2 0和700之間的所有範圍(大多數是小於200)和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()
fspd範圍當我添加我得到plt.colorbar()行出現以下錯誤: RuntimeError:找不到可映射的顏色條創建。首先定義一個可映射的圖像(帶有imshow)或輪廓集(帶有contourf)。
感謝您的幫助 - 我甚至沒有看到我的代碼set_aspect線。我刪除了colorbar命令中的ax = [ax1,ax2,ax3]部分,並繪製在我的第三個子圖的右側。如果我保留它,它會將顏色條右側繪製在第三個子區域的頂部。 – edub 2015-02-17 22:23:33