matplotlib.figure.Figure.add_subplots() 和 add_axes() 返回 None 而不是轴

Luc*_*rio 3 python matplotlib

matplotlib.figure.Figure.add_subplots()( doc ) 应该返回一个轴。

然而,做

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()
print(ax)
Run Code Online (Sandbox Code Playgroud)

返回None

同样的情况发生在ax = fig.add_axes()

为什么会发生这种情况以及如何获取轴句柄?

Imp*_*est 6

您指的是 matplotlib 3.1 的文档。在 matplotlib 3.1 中

ax = fig.add_subplot()
Run Code Online (Sandbox Code Playgroud)

添加一个子图并返回它。

但是,您正在以前的版本中运行代码。在 matplotlib < 3.1 中,您需要明确说明子图在网格中的位置

ax = fig.add_subplot(111)
Run Code Online (Sandbox Code Playgroud)

fig.add_axes()是一个较低级别的函数,它将添加一个轴(不是网格上的子图),因此它需要一个参数,即轴在图形坐标中的位置。