Figure 間での AxesSubplot オブジェクトの共有
matplotlib では、Figure.add_subplot() メソッドを使用して AxesSubplot オブジェクトを作成するのが一般的です。ただし、Axes サブプロットの作成を Figure インスタンスから切り離して、別の Figure で再利用することもできます。
AxesSubplot オブジェクトの独立した作成
これを実現するには、次のことができます。別のアプローチを利用します:
import matplotlib.pyplot as plt axes = plt.AxesSubplot(fig, 1, 1, 1) # Create an empty axes subplot axes.set_xlabel("X-Label") # Populate axes settings axes.set_ylabel("Y-Label")
これにより、特定の Figure に関連付けずに AxesSubplot オブジェクトを追加します。
AxesSubplot オブジェクトを Figure に追加
Axes サブプロットを個別に作成したら、次のコマンドを使用して Figure に追加できます。メソッド:
# Add axes to figure 1 fig1 = plt.figure() fig1.axes.append(axes) # Add axes to figure 2 fig2 = plt.figure() fig2.axes.append(axes)
再利用Axes サブプロット
Axes サブプロットを複数の Figure に追加すると、便利に再利用できます。たとえば、指定した Axes サブプロットにデータをプロットする関数を定義できます。
def plot_on_axes(axes, data): axes.plot(data)
この関数をさまざまな Figure で使用して、同じデータを共有 Axes サブプロットにプロットできます。
Axes のサイズ変更
AxesSubplot オブジェクトを 1 つから移動するFigure を別の Figure に変換するには、新しい Figure のレイアウトに合わせてサイズ変更が必要になる場合があります。軸のサイズを変更するには、set_geometry() メソッドを使用できます。
axes.set_geometry(1, 2, 1) # Update axes geometry for figure 1, with two columns
例
次のコード スニペットは、軸のサブプロットを個別に作成して再利用する方法を示しています。
import matplotlib.pyplot as plt # Create independent axes subplots ax1 = plt.AxesSubplot(None, 1, 1, 1) ax2 = plt.AxesSubplot(None, 1, 1, 1) # Populate axes settings ax1.set_xlabel("X1") ax1.set_ylabel("Y1") ax2.set_xlabel("X2") ax2.set_ylabel("Y2") # Add axes subplots to figure 1 fig1 = plt.figure() fig1.axes.append(ax1) fig1.axes.append(ax2) # Add axes subplots to figure 2 fig2 = plt.figure() fig2.axes.append(ax1) plt.show()
この例では、2 つの軸のサブプロットを作成し、それらを 2 つの軸に追加します。さまざまな数値を取得して表示します。
以上がMatplotlib の異なる Figure 間で AxesSubplot オブジェクトを再利用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。