如何创建可重复使用的底图
问题内容:
继续我的上一个问题:如何在matplotlib中叠加图形我想知道如何创建一个可重用的basemap
对象。我的问题是abasemap
不是pyplot
对象,因此我收到的解决方案figures / axes
在basemap
对象上效果很好,但在对象上效果不好。
我试图四处寻找解决方案,但找不到任何东西,只是讨论而已。
问题答案:
感谢这里的@JoeKington和如何在matplotlib中叠加图形的@EdSmith ,我能够理解如何实现我想要的:重用底图对象并将它们传递出去。
我是这样写的:
- 创建了一个
base_map.py
具有两个功能的:plot()
创建地图对象并绘制一些属性,另一个set_a_map()
创建一个空的地图对象。 - 在其他模块中,我向绘图函数添加了一个
map=None
属性,并在每个函数中添加了:if not map: map = base_map.set_a_map()
因此,如果没有将地图对象传递给另一个函数,则该函数将创建一个新的地图对象。
- 在我的绘图函数中,我没有使用
plt.imshow(...)
例如map.imshow(...)
。这样,我的数据将被绘制在地图上。
多谢您的耐心配合和宝贵的意见!