可以獨立於 Matplotlib 中的圖形建立 AxesSubPlot 物件嗎?

DDD
發布: 2024-11-13 08:51:02
原創
197 人瀏覽過

Can AxesSubPlot Objects Be Created Independently of Figures in Matplotlib?

可以獨立建立 AxesSubPlot 物件嗎?

正如 matplotlib 文件所建議的,在圖窗中建立 AxesSubPlot 實例通常是透過 Figure 實現的。新增子圖。但是,最好獨立於圖形建立這些對象,以便在多個圖形中重複使用它們。

在不同圖形中重用AxesSubPlots

儘管無法為了將軸的創建與圖形完全解耦,可以在新的或現有的圖形中重用以前創建的軸。這可以透過一個簡單的函數來完成:

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 並可選擇將其新增至新的或現有的圖形Fig,確保它具有指定的幾何形狀(行、列、組內的數字)。

範例用法

要示範此功能,請考慮以下內容code:

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()
登入後複製

在此範例中,獨立建立兩個軸子圖,然後將其新增到兩個單獨的圖形中。每個子圖都包含自己的資料和標籤。

以上是可以獨立於 Matplotlib 中的圖形建立 AxesSubPlot 物件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板