matplotlib.figure.Figure.add_subplots()
(doc)应该返回一个轴。
但是,做
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()
print(ax)
返回None
。
ax = fig.add_axes()
发生了同样的情况
为什么会发生这种情况,如何获得轴手柄?
答案 0 :(得分:1)
您需要指定要添加的子图,如下所示。在此,111是指1行1列。最后一个索引指定当前子图的索引。
如果有1行和2列,则需要添加两次:121
和122
。现在,121
表示1行,2列和第一个子图。同样,122
表示1行,2列和第二个子图
ax = fig.add_subplot(111)
print (ax)
# AxesSubplot(0.125,0.125;0.775x0.755)
答案 1 :(得分:1)
您正在参考matplotlib 3.1的文档。在matplotlib 3.1中
ax = fig.add_subplot()
添加一个子图并返回它。
但是,您正在运行早期版本的代码。在matplotlib <3.1中,您需要明确声明子图在网格中的位置
ax = fig.add_subplot(111)
fig.add_axes()
是较低级别的函数,它将添加一个轴(而不是网格上的子图),因此它需要一个参数,即轴在图形坐标中的位置