消除Python pcolor basemap图中的网格线
我正在使用Basemap和pcolor来绘制一个在圆柱投影上的标量场。现在遇到的问题是,网格线被画出来了:我不想看到这些线,只想看到彩色的方块。如果我想要网格线,我应该用pcolormesh,对吧?
帮助文档说,设置edgecolors='none'应该可以去掉这些线(这和现在不再推荐的shading='flat'是一样的)。但在我尝试绘制的真实数据中,这个方法似乎没有效果。
我做了一个测试,在我的地图上方绘制了一个小方块:我只是创建了一个3x3的随机数组和一些合适的经纬度矩阵。在那个小测试区域里,颜色之间的线是看不见的(这正是我想要的);我只是搞不明白为什么,因为我用的技术和真实数据是一样的。
那些多余的网格是黑色的,因为地图的背景是黑色的 map.drawmapboundary(fill_color='0.05')
,这里的'map'是一个Basemap对象:
map = Basemap(projection='cyl',
resolution='l',
llcrnrlon=lon_min,
llcrnrlat=lat_min,
urcrnrlon=lon_max,
urcrnrlat=lat_max)
当我把背景留成白色时,我看到的是白色的网格,而不是黑色的。
我使用的pcolor命令是:
mymapim = map.pcolor(mapxvals, mapyvals, datafield, edgecolors='none', vmin=-5, vmax=35, cmap=my_cmap)
'datafield'是一个被屏蔽的数组(不确定屏蔽是否可能与此有关)。'map*vals'是比datafield多一行一列的矩阵。
所以我花了很多时间试图搞清楚这个问题,并在网上寻找答案,但我想借此机会向这个社区提问。谢谢任何建议。(我用Python的时间不长)。
我试图附上一个显示问题的图片,但显然在我获得一些声望之前无法上传。
谢谢!