2017-06-13 161 views
0

我做了一個輪廓圖,並且默認情況下它設置了-150到250範圍內的八種不同顏色。 但是我想增加顏色的數量,所以顏色條的分辨率。python定義顏色映射的範圍

我嘗試了一些事情(例如在下面的代碼示例中)但沒有任何工作。所以也許有人可以幫助我呢?

下面是一個代碼示例:

m2 = Basemap(projection='kav7',lon_0=0) 
m2.drawcoastlines(linewidth=1.) 
m2.drawparallels(np.arange(-90.,99.,30.)) 
m2.drawmeridians(np.arange(-180.,180.,60.)) 

v = np.linspace(-150., 250., 10., endpoint=True) 
cs = m2.contourf(lon,lat,sshf_mean,latlon=True,cmap=cm.jet) 
cbar = m2.colorbar(cs,location='bottom',pad="5%",ticks=v) 

所以在最後應該有40種不同的顏色,而不是8的彩條

非常感謝您!

回答

1

contourf有兩個選項來設置級別的數量;你可以手動設置它們,或者讓matplotlib選擇N級別。例如:

import matplotlib.pylab as pl 
import numpy as np 

x = np.arange(10) 
y = np.arange(10) 
values = np.random.random(100).reshape((10,10)) 

pl.figure() 
pl.subplot(131) 
pl.contourf(x, y, values) 
pl.colorbar() 

pl.subplot(132) 
# Automatically chose 100 levels: 
pl.contourf(x, y, values, 100) 
pl.colorbar() 

pl.subplot(133) 
# Manually specify 20 levels: 
levels = np.linspace(0,1,20) 
pl.contourf(x, y, values, levels) 
pl.colorbar() 

產地:

enter image description here

+0

大,非常感謝你! :) – Leo