Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggunakan Semula Objek AxesSubplot Merentasi Angka Berbeza dalam Matplotlib?

Bagaimana untuk Menggunakan Semula Objek AxesSubplot Merentasi Angka Berbeza dalam Matplotlib?

Susan Sarandon
Susan Sarandonasal
2024-11-28 16:18:11647semak imbas

How to Reuse AxesSubplot Objects Across Different Figures in Matplotlib?

Berkongsi Objek AxesSubplot Merentas Rajah

Dalam matplotlib, adalah perkara biasa untuk mencipta objek AxesSubplot menggunakan kaedah Figure.add_subplot(). Walau bagaimanapun, anda mungkin mahu mengasingkan penciptaan subplot paksi daripada kejadian rajah untuk menggunakannya semula dalam rajah yang berbeza.

Mencipta Objek AxesSubplot Secara Bebas

Untuk mencapai ini, anda boleh gunakan pendekatan alternatif:

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")

Ini membolehkan anda membuat AxesSubplot objek tanpa mengaitkannya dengan angka tertentu.

Menambahkan AxesSubplot Objects to Figures

Setelah anda mencipta paksi subplot secara bebas, anda boleh menambahkannya pada angka menggunakan yang berikut kaedah:

# Add axes to figure 1
fig1 = plt.figure()
fig1.axes.append(axes)

# Add axes to figure 2
fig2 = plt.figure()
fig2.axes.append(axes)

Menggunakan semula Subplot Axes

Dengan menambahkan subplot paksi pada berbilang angka, anda boleh menggunakannya semula dengan mudah. Sebagai contoh, anda boleh mentakrifkan fungsi untuk memplot data pada subplot paksi yang ditentukan:

def plot_on_axes(axes, data):
    axes.plot(data)

Fungsi ini kemudiannya boleh digunakan dalam pelbagai rajah untuk memplot data yang sama pada subplot paksi kongsi.

Mengubah Saiz Kapak

Menggerakkan objek AxesSubplot daripada satu rajah kepada yang lain mungkin memerlukan saiz semula untuk dipadankan dengan reka letak angka baharu. Untuk mengubah saiz paksi, anda boleh menggunakan kaedah set_geometry():

axes.set_geometry(1, 2, 1)  # Update axes geometry for figure 1, with two columns

Contoh

Coretan kod berikut menunjukkan cara mencipta dan menggunakan semula subplot paksi secara bebas:

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()

Contoh ini mencipta dua subplot paksi, menambah mereka kepada dua angka yang berbeza, dan memaparkannya.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Semula Objek AxesSubplot Merentasi Angka Berbeza dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn