【发布时间】:2014-02-26 13:12:14
【问题描述】:
我正在使用 matplotlib 工具包 (mpl_toolkits.basemap.Basemap) 中 basemap 模块中的 Basemap 对象。在basemap 的__init__.py 文件(即mpl_toolkits.basemap.__init__ 模块)中,定义了一个在地图上绘制纬度的方法drawparallels。我的目标是复制该方法以创建一个名为drawmlat 的新方法,进行一些调整以绘制磁纬度而不是地理纬度。
理想情况下,我希望新的 drawmlat 等同于原始的 drawparallel(我可以使用 BasemapInstance.drawmlats() 调用的 Basemap 实例的绑定方法),并且我不想修改原始的文件。我将如何做到这一点?
我已经尝试过“配方”MyObj.method = MethodType(new_method, None, MyObj) 的变体,但没有在原始源文件中放置任何内容,新方法无法从 Basemap 模块访问全局变量等(例如在其 __init__.py 中定义) .
如果我似乎误解了什么,我可能有 - 我或多或少是面向对象编程的新手。
【问题讨论】: