请您澄清一些Matplotlib术语:
答案 0 :(得分:9)
这确实是一个令人困惑的问题。
在英语中,单数是轴,复数是轴。两种轴形成两个轴。
在matplotlib中,matplotlib.axes._axes.Axes
对象通常简称为“轴”。该对象包含xaxis和yaxis,因此得名。但是谈到那个对象,人们会把它称为单数轴。其中一些仍被称为轴。
每个子图都是Axes
个对象,但有Axes
个对象,它们不是AxesSubplot
个对象。例如。通过子图机制创建的轴是matplotlib.axes._subplots.AxesSubplot
。此类派生自matplotlib.axes._axes.Axes
,因此该子图是一个轴。但是,您也可以通过不同的机制创建轴,例如通过在图中添加一个轴fig.add_axes()
。这不是一个子图,而是一个轴matplotlib.axes._axes.Axes
。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
print(ax) # Axes(0.125,0.11;0.775x0.77)
print(type(ax)) # <class 'matplotlib.axes._subplots.AxesSubplot'>
ax2 = fig.add_axes([0.8,0.1,0.05,0.8])
print(ax2) # Axes(0.8,0.1;0.05x0.8)
print(type(ax2)) # <class 'matplotlib.axes._axes.Axes'>
还有其他轴,例如插入轴
mpl_toolkits.axes_grid1.parasite_axes.AxesHostAxes
。该对象也称为轴。
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
axins = zoomed_inset_axes(ax, 0.2, loc=3)
print(axins) # Axes(0.125,0.11;0.775x0.77)
print(type(axins)) # <class 'mpl_toolkits.axes_grid1.parasite_axes.AxesHostAxes'>
答案 1 :(得分:3)
轴是轴的复数。子图通常具有 x -axis 和 y -axis ,它们共同形成 2
。的子轴让我们谈谈功能/类名:
Figure.add_subplot
或pyplot.subplot
会返回AxesSubplot
个对象。这又包含XAxis
和YAxis
对象。
fig = plt.figure()
ax = fig.add_subplot(111)
x = ax.xaxis
print(type(ax)) # matplotlib.axes._subplots.AxesSubplot
print(type(x)) # matplotlib.axis.XAxis
XAxis
派生自基类Axis
。
AxesSubplot
源自SubplotBase
和Axes
。
答案 2 :(得分:1)
Axes 只是轴的复数形式。例如,x 轴和 y 轴一起可以称为 2 轴或仅称为轴。大多数情况下,子图包含轴。一个图包含许多子图。
Figure
|
v
------------------
| |
v v
Subplot1 Subplot2
| |
v v
Axes Axes
| |
v v
--------- -----------
| | | |
v v v v
Axis1 Axis2 Axis1 Axis2