我是一个新的用户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