【问题标题】:How do I add a coastline to an xarray.plot.facetgrid.FacetGrid?如何将海岸线添加到 xarray.plot.facetgrid.FacetGrid?
【发布时间】:2020-12-22 04:31:29
【问题描述】:

我正在尝试制作一个包含 12 个图的数字,显示每个月从 1800 到 2100 的参数的月平均值。我已经完成了每个月的平均每月数据和 12 个地块的地块,我只想添加海岸线。我试图将“coastlines = True”添加到我的轮廓()绘图线的末尾,在那里我收到一条警告消息,指出“轮廓未使用以下 kwargs:'coastline'”。我也试过在我的绘图命令之后使用 ax.coastlines(),我收到一条错误消息,说“'FacetGrid' 对象没有属性'coastlines'”。我尝试做的最后一件事如下:

fg = cape_climo.plot.contourf(x = 'lon', y = 'lat', col =    'month', col_wrap =3, ,
                        subplot_kws={
        "projection": ccrs.LambertConformal()}, cbar_kwargs={"orientation": "vertical", "shrink": 0.8, "aspect": 40},
    robust=True) 

fg.map(lambda: plt.gca().coastlines())

我没有收到任何错误或警告消息...但我也没有收到海岸线。

【问题讨论】:

  • 始终以文本形式提供minimal reproducible example 代码、数据、错误、当前输出和预期输出。只有绘图图像是可以的。请参阅How to ask a good question
  • 这是我正在尝试使用的代码...我正在获取等高线地图,我需要在其上放置海岸线。我提供了我在解释中收到的错误,以及我当前和预期的输出。谢谢。
  • 这不是minimal reproducible example,因为没有数据就无法重现

标签: python matplotlib plot python-xarray contourf


【解决方案1】:

fg 包含一个 axes 属性,其中包含所有创建的轴,因此您可以执行以下操作:

[ax.coastlines() for ax in fg.axes.flatten()]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2020-12-10
    • 1970-01-01
    • 2019-01-21
    相关资源
    最近更新 更多