如何创建可重复使用的底图


问题内容

继续我的上一个问题:如何在matplotlib中叠加图形我想知道如何创建一个可重用的basemap对象。我的问题是abasemap不是pyplot对象,因此我收到的解决方案figures / axesbasemap对象上效果很好,但在对象上效果不好。

我试图四处寻找解决方案,但找不到任何东西,只是讨论而已。


问题答案:

感谢这里的@JoeKington和如何在matplotlib中叠加图形的@EdSmith ,我能够理解如何实现我想要的:重用底图对象并将它们传递出去。

我是这样写的:

  1. 创建了一个base_map.py具有两个功能的:plot()创建地图对象并绘制一些属性,另一个set_a_map()创建一个空的地图对象。
  2. 在其他模块中,我向绘图函数添加了一个map=None属性,并在每个函数中添加了:
    if not map:  
    map = base_map.set_a_map()
    

因此,如果没有将地图对象传递给另一个函数,则该函数将创建一个新的地图对象。

  1. 在我的绘图函数中,我没有使用plt.imshow(...)例如map.imshow(...)。这样,我的数据将被绘制在地图上。

多谢您的耐心配合和宝贵的意见!