web-dev-qa-db-ja.com

figure.add_subplot()とpyplot.subplot()

add_subplot()subplot()の違いは何ですか?どちらもない場合、どちらもサブプロットを追加するようです。ドキュメントを見ましたが、違いがわかりませんでした。将来のコードをより柔軟にするためだけですか?

例えば:

fig = plt.figure()
ax = fig.add_subplot(111)

vs

plt.figure(1)
plt.subplot(111)

matplotlibチュートリアルから。

12
bmorton12

後で使用するためにaxへの参照が必要な場合:

ax = fig.add_subplot(111)

次のものであなたに1つを与えます:

plt.subplot(111)

次のようなことをする必要があります。

ax = plt.gca()

同様に、後でフィギュアを操作したい場合:

fig = plt.figure()

次の代わりにすぐに参照を提供します:

fig = plt.gcf()

図の複数のサブプロットを操作する場合は、明示的な参照を取得するとさらに便利です。比較:

figures = [plt.figure() for _ in range(5)]

と:

figures = []
for _ in range(5):
    plt.figure()
    figures.append(plt.gcf())
8
Mike Müller

pyplot.subplotFigure.add_subplotのラッパーですが、動作が異なります。 pyplot.subplotを使用してサブプロットを作成すると、境界を共有せずに重複する既存のサブプロットが削除されます。この動作を望まない場合は、代わりにFigure.add_subplotメソッドまたはpyplot.axes関数を使用してください。 その他

1
Guido Mocha