如何创建可重用的底图

Sha*_*ati 5 python matplotlib figure matplotlib-basemap

继续我之前的问题:如何在matplotlib中叠加数字我想知道如何创建一个可重用的basemap对象.我的问题是a basemap不是一个pyplot对象,所以我收到的解决方案效果很好,figures / axes但不是basemap对象.

我试图四处寻找解决方案,但找不到任何解决方案.

Sha*_*ati 1

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

我是这样做的:

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

    if not map:  
        map = base_map.set_a_map()
    
    Run Code Online (Sandbox Code Playgroud)

    这样,如果没有地图对象传递给其他函数,该函数将创建一个新的地图对象。

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

感谢您的耐心和真正有用的评论!