返回底图最大值

时间:2016-08-29 14:03:12

标签: python numpy math matplotlib-basemap

这是一个非常普遍的问题;

有没有办法在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()

enter image description here

0 个答案:

没有答案