【发布时间】:2016-11-30 22:22:56
【问题描述】:
我试图用风速的 pcolormesh 在地图上覆盖风场的颤抖图。
from mpl_toolkits.basemap import Basemap
from pylab import *
lonMin = 115.5
lonMax = 124.5
latMin = 10
latMax = 20
res = 0.25
lonGrid = arange(lonMin, lonMax, res)
latGrid = arange(latMin, latMax, res)
lonGrid,latGrid = meshgrid(lonGrid,latGrid)
u = random(lonGrid.shape)
v = random(lonGrid.shape)
m = Basemap(llcrnrlon=lonMin,llcrnrlat=latMin,urcrnrlon=lonMax,urcrnrlat=latMax, resolution = 'i')
m.pcolormesh(lonGrid, latGrid, sqrt(u**2+v**2))
m.quiver(lonGrid,latGrid,u,v, latlon = 'true')
m.drawcoastlines()
m.fillcontinents()
我注意到两件事:
- 颤动的箭头从 pcolormesh 生成的像素的左下角发出,而不是从中心发出
- 绘图的上边界和最右边界没有着色
这里到底发生了什么,我该如何解决?
【问题讨论】:
-
pcolor(mesh)模仿了同名的 MATLAB 函数,通常不是数据可视化的最佳选择。我个人会使用像contourf这样的东西,有很多级别。甚至imshow.
标签: python matplotlib plot matplotlib-basemap