我是 python 和 matplotlib(以及 stackoverflow)的新手。你能告诉我如何用这个椭圆函数扩展我的 basemap 类吗?来自 regeirk 的原始帖子“在 matplotlib basemap 投影上绘制椭圆”正是我所需要的,但我不知道如何扩展该类(class)。
这是来自 regeirk 的代码: Drawing ellipses on matplotlib basemap projections
我不知道如何实现扩展 basemap 类。我以前从未这样做过。
我希望我提供了所有信息。
谢谢。
请您参考如下方法:
使用 Python,您可以扩展类而无需修改 basemap 源代码本身。简单地导入以下代码(可能只是将其内联到您的脚本中)将修改类的功能(在这种情况下,我们也可以修改 Basemap 类):
from mpl_toolkits.basemap import Basemap
def ellipse(self, x0, y0, a, b, n, ax=None, **kwargs):
print 'Hello world!'
Basemap.ellipse = ellipse
现在,当您创建一个 basemap 实例时,它将具有适当的“椭圆”方法。
另见 http://dietbuddha.blogspot.co.uk/2012/12/python-metaprogramming-dynamically.html
