我试着用python制作一个我不习惯使用的气候图,但是我想试试它是否比用R绘图更方便 http://joehamman.com/2013/10/12/plotting-netCDF-data-with-Python/与我的数据。你知道吗
from netCDF4 import Dataset
import numpy as np
myfil = "xxxxx"
fh = Dataset(myfil, mode='r')
lons = fh.variables['lon'][:]
lats = fh.variables['lat'][:]
tmean = fh.variables['Tmean_ANN'][:1]
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# Get some parameters for the Stereographic Projection
lon0 = lons.mean()
lats0 = lats.mean()
m = Basemap(width=5000000,height=3500000,
resolution='l',projection='stere',
lat_ts=60,lat_0=lats0,lon_0=lon0)
lon, lat = np.meshgrid(lons, lats, sparse=True)
xi, yi = m(lon, lat)
# Plot Data
print(xi.shape)
print(yi.shape)
print(tmean.shape)
结果
(1, 1142761)
(1142761, 1)
(1, 1069, 1069)
试着跑这条线
cs = m.contour(xi,yi, np.squeeze(tmean))
我搞错了
cs = m.contour(xi,yi, np.squeeze(tmean))
Traceback (most recent call last):
File "<ipython-input-37-8be9f03a0e45>", line 1, in <module>
cs = m.contour(xi,yi, np.squeeze(tmean))
File "C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 546, in with_transform
return plotfunc(self,x,y,data,*args,**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 3566, in contour
np.logical_or(np.greater(x,self.xmax+epsx),np.greater(y,self.ymax+epsy))
MemoryError
有什么帮助吗?为什么我会得到这个。我的假设是xi
和yi
的维数与tmean
不相容,因此我得到了错误。np.sqeeze
函数处理tmean
函数之外的m.contour
数据,但我暂时无法解决这个问题。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐