11

我正在尝试使用 Cartopy 在地图上绘制几个点的位置(散点图)(参见下面的代码)。当我尝试渲染绘图时,数据点在 LAND 层后面渲染。但我想在 LAND 层上绘制我的散点数据......我做错了什么?

卡托比:版本。0.12.x,Matplotlib:ver.1.4.2

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature 

ax = plt.axes(projection=ccrs.PlateCarree()) 
ax.set_extent([125, 150, 35, 63])         

ax.stock_img()

ax.add_feature(cfeature.LAND) #If I comment this => all ok, but I need 
ax.add_feature(cfeature.LAKES)
ax.add_feature(cfeature.RIVERS)
ax.coastlines()

ax.scatter(yc,xc,transform=ccrs.PlateCarree()) #yc, xc -- lists or numpy arrays

plt.show()

LAND 图层下显示的点

没有 LAND 层的绘图

4

1 回答 1

13

大多数(如果不是全部)matplotlib 绘图函数采用zorder参数来指定绘图顺序。

较低zorder的 s 将首先绘制,因此较高zorder的 s 将出现在“顶部”。

所以,是的,通过zorder=xxx来安排你的图层。

于 2014-11-21T18:04:58.393 回答