AxesSubPlot オブジェクトの独立した作成は可能ですか?
matplotlib ドキュメントが示唆しているように、Figure 内での AxesSubPlot インスタンスの作成は通常、Figure を通じて行われます。 add_subplot。ただし、これらのオブジェクトを Figure とは独立して作成し、複数の Figure で再利用できるようにすることが望ましい場合があります。
異なる Figure での AxesSubPlots の再利用
できないにもかかわらずFigure から軸の作成を完全に切り離すために、以前に作成した軸を新規または既存の Figure で再利用できます。これは、単純な関数で実現できます。
def plot_axes(ax, fig=None, geometry=(1, 1, 1)): if fig is None: fig = plt.figure() if ax.get_geometry() != geometry: ax.change_geometry(*geometry) ax = fig.axes.append(ax) return fig
この関数は、既存の軸インスタンス ax を取得し、オプションでそれを新規または既存の Figure fig に追加し、指定されたジオメトリ (行、列、
使用例
この機能を実証するには、次のことを考慮してください。コード:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 6 * np.pi, 100) # Create axes subplots independently ax1 = plt.axes() ax2 = plt.axes() # Add ax1 to figure 1 fig1 = plt.figure() plt.axes.append(ax1) # Add ax2 to figure 2 fig2 = plt.figure() plt.axes.append(ax2) # Plot data on ax1 ax1.plot(x, np.sin(x)) ax1.set_ylabel("Sin(x)") # Plot data on ax2 ax2.plot(x, np.cos(x)) ax2.set_ylabel("Cos(x)") plt.show()
この例では、2 つの軸のサブプロットが独立して作成され、2 つの別々の Figure に追加されます。各サブプロットには独自のデータとラベルが含まれます。
以上がAxesSubPlot オブジェクトは Matplotlib の Figure とは独立して作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。