在同一图形上绘制多个轮廓图

时间:2019-05-04 11:36:43

标签: python numpy matplotlib

我试图使用同一张图绘制多个轮廓图:我想将每个轮廓显示为一种颜色,然后为每种颜色绘制图例

当我尝试时,所有两个国家最终都变成相同的颜色,根本没有区别

proj = ccrs.PlateCarree()
fig, axarr = plt.subplots( figsize=(10, 8), constrained_layout=True,
                          subplot_kw=dict(projection=proj))
# = axarr.flatten()
# APRIL TO SEPTEMBER
axarr.contourf(lon, lat, pskw, transform=proj, cmap=cm.Blues,)
 axarr.contourf(lon, lat, shift, transform=proj, cmap=cm.Reds,)

This is my code

我想在一张图中为每个轮廓f获得单独的颜色:

谢谢

1 个答案:

答案 0 :(得分:0)

在我看来,pskw和shift都将绘制在同一节点上,并用lon和lat标识。这意味着第二个轮廓调用将仅隐藏第一个。

考虑到这一点,有几种可能性:

  • 对第一个调用使用contourf,对第二个调用使用轮廓
  • 确定空间域的两个非重叠部分,并在每个子域上为不同的变量调用Contourf
  • 创建两个子图并将每个变量绘制在一个子图中
  • 对contourf的两次调用使用不透明度和zorder,但这可能会很尴尬