2016-07-20 97 views
3

所以我有一個底圖,頂部的colormesh和colorbar設置爲cbar的情節。我希望顏色條的方向是水平的而不是垂直的,但是當我在extend ='max'之後的cbar = m.colorbar行中設置orientation ='horizo​​ntal'時,出現以下錯誤:「colorbar()關鍵字參數'orientation'「Python-如何使彩條方向水平?

有人在另一個問題上解釋了爲什麼發生這種情況,但我真的無法理解答案或看到如何解決它的解釋。有人可以幫忙嗎?我嘗試使用plt.colorbar,但由於某些原因,不接受我的滴答設置。

這裏就是我的情節看起來像以前一樣......

#Set cmap properties 
bounds = np.array([0.1,0.2,0.5,1,2,3,4,6,9,13,20,30]) 
norm = colors.LogNorm(vmin=0.1,vmax=30) #creates logarithmic scale 

#Create basemap 
fig = plt.figure(figsize=(15.,10.)) 
m = Basemap(projection='cyl',llcrnrlat=-90,urcrnrlat=90,llcrnrlon=0,urcrnrlon=360.,lon_0=180.,resolution='c') 
m.drawcoastlines(linewidth=1) 
m.drawcountries(linewidth=1) 
m.drawparallels(np.arange(-90,90,30.),linewidth=0.3) 
m.drawmeridians(np.arange(-180.,180.,90.),linewidth=0.3) 
meshlon,meshlat = np.meshgrid(lon,lat) 
x,y = m(meshlon,meshlat) 

#Plot variables 
trend = m.pcolormesh(x,y,lintrends_36,cmap='jet', norm=norm, shading='gouraud') 

#Set plot properties 
plt.tight_layout() 
#Colorbar 
cbar=m.colorbar(trend, size='3%',ticks=bounds,extend="max") #THIS LINE 
cbar.set_label(label='Linear Trend (mm/day/decade)',size=30) 
cbar.set_ticklabels(bounds) 
#Titles & labels 
plt.suptitle('Linear Trends of Precipitation (CanESM2)',fontsize=40,y=0.962) 
plt.title('a) 1979-2014',fontsize=40) 
plt.ylabel('Latitude',fontsize=30) 
plt.show() 

enter image description here

取向時嘗試(所有其他代碼相同)... enter image description here

和地圖看起來像這樣。

enter image description here

+0

你能後的追蹤的錯誤,也許到該帖子的鏈接你提到? –

+0

如果您使用'fig.colorbar'而不是'm.colorbar',該怎麼辦? –

+0

添加了回溯,當我嘗試plt.colorbar時,我意識到我用cbar設置的一些參數不起作用。例如,cbar = m.colorbar()行內的ticks = bounds不管用於什麼原因。 這裏是我提到的帖子 - http://stackoverflow.com/questions/18950054/class-method-generates-typeerror-got-multiple-values-for-keyword-argument – ChristineB

回答

2

您需要使用location=bottom

cbar=m.colorbar(trend, size='3%',ticks=bounds,extend="max",location=bottom) 

我從底圖文檔中this例子。

enter image description here

+0

謝謝!我還使用「pad」參數將其放置在我的x軸標籤下方。 – ChristineB

+0

或相當於'plt.colorbar(orientation ='horizo​​ntal')' – AruniRC