【问题标题】:Plotting Point Data in Cartopy在 Cartopy 中绘制点数据
【发布时间】:2019-02-07 11:04:40
【问题描述】:

我使用 Cartopy/Matplotlib 显示了一个一维 NetCDF 数据集,并希望在地图上的特定点显示该数据的值(格式为 lat,lon),如下图示例所示:

我已经筛选了 Matplotlib/Cartopy 文档,并认为 pyplot.plot 函数是解决方案。我希望运行此过程的代码行是 plt.plot(x 坐标,y 坐标,数据)。我是在正确的轨道上,还是有更有效的解决方案?

【问题讨论】:

    标签: matplotlib cartopy


    【解决方案1】:

    我建议看一下 matplotlib 的可视化类型。在http://nbviewer.jupyter.org/github/SciTools/courses/blob/master/course_content/notebooks/matplotlib_intro.ipynb?create=1 有一个简短的课程可以做到这一点,您可能会发现它很有用。

    特别是在绘制点数据时,plt.plot 是一个不错的选择。在显示大量点数据时,您可能需要查看plt.scatter

    当您想要可视化数据的字段时,您可能需要plt.contourfplt.pcolormesh 用于填充等高线和块状图。

    您可能还对简化代表您处理元数据的过程的工具感兴趣。 XArray 为您提供了一个方便的多维数据集和一个光滑的界面,Iris 为您提供了一个基于约定的数据模型,可以理解坐标系和单位等内容(披露:我是 Iris 的作者之一)。

    【讨论】:

    • 感谢您的回答,对延迟回复表示歉意。我已经能够在地图上绘制一个点,但是我想用这个纬度/经度点绘制的网格数据集中的数据没有显示出来。可以在此处找到代码 (imgur.com/k2Tn7gN) 和此处生成的相应图像 (imgur.com/9sgrNfe)。非常感谢您的帮助!
    【解决方案2】:

    一定要查看 pelson 的答案,但简而言之,是的,您可以使用任何 matplotlib 绘图功能,只需在轴句柄 ax 上使用 ax.plot(...)。请注意,您应该始终包含 transform=cartopy.crs. ... 参数(它是 GeoAxes 对象 ax 的一部分)以确保您处于正确的投影中。

    【讨论】:

    • 感谢您对此的一些反馈!我已经能够在地图上绘制一个点,但是我想用这个纬度/经度点绘制的网格数据集中的数据没有显示出来。可以在此处找到代码 (imgur.com/k2Tn7gN) 和此处生成的相应图像 (imgur.com/9sgrNfe)。非常感谢您的帮助!
    • 如果您还有其他问题,您可能需要使用最小的工作示例(可复制)来编辑您的原始问题以获得更多反馈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2021-08-10
    • 2017-07-03
    • 2020-07-09
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多