1. ホーム
  2. python

[解決済み] なぜ多くの例では Matplotlib/pyplot/python で `fig, ax = plt.subplots()` が使われているのでしょうか?

2022-03-24 13:27:13

質問

を勉強中です。 matplotlib を例題として勉強しているのですが、多くの例題では1つのプロットを作成する前に以下のような行が含まれているようです...。

fig, ax = plt.subplots()

以下はその例です...

この例では、1枚のチャートを作成しようとしているだけなのに、この関数がよく使われているのを見かけます。何か他に利点があるのでしょうか?の公式デモでは subplots() を使用しています。 f, ax = subplots は、1つのチャートを作成するときに使用し、それ以降はaxを参照するのみです。これは、彼らが使っているコードです。

# Just a figure and one subplot
f, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')

解決方法は?

plt.subplots() は、図形と軸のオブジェクトを含むタプルを返す関数です。したがって fig, ax = plt.subplots() このタプルを解凍して、変数 figax . 持つこと fig は、後で図レベルの属性を変更したり、図を画像ファイルとして保存したりする場合に便利です(たとえば fig.savefig('yourfilename.png') ). 確かに返された図オブジェクトを使う必要はありませんが、多くの人が後で使うので、よく見かけることです。また、すべての軸オブジェクト(プロットメソッドを持つオブジェクト)は、いずれにせよ親の figure オブジェクトを持っています。

fig, ax = plt.subplots()

はこれより簡潔です。

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