这是一个非常普遍的问题;
有没有办法在Basemap图中返回最大值?我知道numpy中的数组你可以用amax等来做,但是当使用底图你可能只绘制数组的某个部分(等数据可能设置为-90到90 lat,-180到180 long,但是如果我在欧洲绘制地图,那么计算这个数组的最大值将给出世界的最大值,而不是在欧洲被绘制的。)
底图kwargs llcrnrlat,llcrnrlon,urcrnrlat,urcrnrlon,可能会以这种方式使用以获得正确的数组坐标,只是想知道Basemap是否具有完成所有这些的功能?
等等,如果我有一个下面生成的图,最大值约为18.但我用来绘制这个数据的数据是全局数据(大小为721x1440,扩展-90到90,以及-180到180),其中最大值可能大于此值,因此对该图/用户没有用处。
以下是一个非常基本/简化的版本,遗憾的是我无法发布数据。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
m = Basemap(projection='npstere',boundinglat=60,lon_0=0,resolution='l')
m.drawparallels(np.arange(-90., 91., 10.), labels=[1,0,0,0], fontsize=12)
m.drawmeridians(np.arange(-180., 181., 20.), labels=[0,0,0,1], fontsize=12)
plt.text(1,1,'@MetmanJames')
def Make_Grid(m):
lat = np.linspace(90,-90,721)
lon = np.linspace(-180,180,1440)
X, Y = np.meshgrid(lon, lat)
X, Y = m(X, Y)
return X,Y
X,Y = Make_Grid(m)
SomeDataSet = np.array(721,1440) #Some data from a Grib file, can't upload this data unfortunately
cs = m.contourf(X,Y,SomeDataSet,extend='both')
plt.show()