1

matplotlib 轴的类是AxesSubplot

In [233]: type(gca())
Out[233]: matplotlib.axes.AxesSubplot

然而这个名字似乎并不存在:

In [235]: import matplotlib.axes

In [236]: matplotlib.axes.AxesSubplot
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-236-d2888d8fac12> in <module>()
----> 1 matplotlib.axes.AxesSubplot

AttributeError: 'module' object has no attribute 'AxesSubplot'
2
In [237]: from matplotlib.axes import AxesSubplot
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-237-86d07b77aa8f> in <module>()
----> 1 from matplotlib.axes import AxesSubplot

ImportError: cannot import name AxesSubplot

它不是使用type()任何一个花哨的调用创建的;至少,grep AxesSubplot不会在模块的模块源文件中返回任何结果axes

如果我查看它的 mro,我可以访问所有其他类的定义:

In [238]: type(gca()).mro()
Out[238]: 
[matplotlib.axes.AxesSubplot,
 matplotlib.axes.SubplotBase,
 matplotlib.axes.Axes,
 matplotlib.artist.Artist,
 builtins.object]

怎么可能type(gca())报告matplotlib.axes.AxesSubplot,但这个类似乎不存在?

我在 Python 3.2、Matplotlib 1.2 上,以防万一。

4

0 回答 0