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!