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 上,以防万一。