我是一個新的用戶python & matplotlib,這可能是一個簡單的問題,但我搜索了幾個小時的互聯網,並找不到解決方案。奇怪的色彩值範圍,matplotlib
我正在繪製NetCDF格式的降水數據。我發現奇怪的是,數據沒有任何負面的價值(我多次查過,只是爲了確定)。但是,顏色條中的值以負值開始(如-0.0000312等)。它沒有任何意義,因爲我不對數據做任何操作,其他只從大文件中選擇一部分數據並繪製它。
所以我的代碼並沒有太多。下面是代碼:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
from netCDF4 import Dataset
cd progs
f=Dataset('V21_GPCP.1979-2009.nc')
lats=f.variables['lat'][:]
lons=f.variables['lon'][:]
prec=f.variables['PREC'][:]
la=lats[31:52]
lo=lons[18:83]
pre=prec[0,31:52,18:83]
m = Basemap(width=06.e6,height=05.e6,projection='gnom',lat_0=15.,lon_0=80.)
x, y = m(*np.meshgrid(lo,la))
m.drawcoastlines()
m.drawmapboundary(fill_color='lightblue')
m.drawparallels(np.arange(-90.,120.,5.),labels=[1,0,0,0])
m.drawmeridians(np.arange(0.,420.,5.),labels=[0,0,0,1])
cs=m.contourf(x,y,pre,50,cmap=plt.cm.jet)
plt.colorbar()
,我得到了這些代碼是一個美麗的情節,從價值-0.00001893啓動彩條的輸出,剩下的都是正面的價值觀,我相信是正確的。它只是最小的價值,這讓我煩惱。
我想知道:
- 這有什麼錯在我的代碼?因爲我知道數據是正確的。
- 有沒有辦法手動將值更改爲0?
- 顏色欄中的值每次運行代碼時都會改變,相同數據的餘弦值,下一次運行代碼時的值是否爲「-0.00001893,200000000,400000000,6.00000000等等」
- 我想自定義它們爲 「0.0,2.0,4.0,6.0等」
感謝, Vaishu
你真的確定,那個價值是不正確的?也許印刷展示了一個圓整的價值。嘗試打印pre.min() – tillsten 2010-10-22 18:26:06