AxesSubPlot オブジェクトは Matplotlib の Figure とは独立して作成できますか?

DDD
リリース: 2024-11-13 08:51:02
オリジナル
196 人が閲覧しました

Can AxesSubPlot Objects Be Created Independently of Figures in Matplotlib?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート