fig.gca()与fig.add_subplot()

时间:2014-12-01 02:51:51

标签: matplotlib

面向对象的matplotlib的大多数示例都使用类似

的Axis对象
import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

ax1.plot(...... etc.

我发现这一点并不明显,特别是从matlab的角度来看。 我最近发现可以通过

获得相同的结果
ax1 = fig1.gca()   # "GetCurrentAxis"

这对我来说更有意义(可能只是由于之前的Matlab使用)。 为什么 add_subplot()选择了令人困惑的 111 参数作为获取轴对象的首选方法?有什么功能差异吗?

谢谢!

2 个答案:

答案 0 :(得分:19)

plt.gca获取当前轴,如果需要则创建一个。它只相当于最简单的1轴情况。

首选方法是使用plt.subplots(文档/示例确实有些滞后,如果您想开始贡献,更新文档是一个很好的起点):

fig, ax = plt.subplots(1, 1)

fig, (ax1, ax2) = plt.subplots(2, 1)

等等。

答案 1 :(得分:0)

要创建3D实例,有以下三种方法:

plt.gca(projection='3d')

plt.subplot(projection='3d')

fig = plt.figure()
fig.add_subplot(111, projection='3d') 

也许第三种方法更复杂。