Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Anda Mencipta Objek AxesSubplot Secara Bebas daripada Angka dalam Matplotlib?

Bolehkah Anda Mencipta Objek AxesSubplot Secara Bebas daripada Angka dalam Matplotlib?

Patricia Arquette
Patricia Arquetteasal
2024-11-13 00:46:02694semak imbas

Can You Create AxesSubplot Objects Independently of Figures in Matplotlib?

Menyahgandingkan Penciptaan AxesSubplot dan Penambahan Rajah

Masalah:
Memperibadikan plot matplotlib AxSubes sering memerlukan penciptaan plot Axplotlib objek. Walau bagaimanapun, objek ini biasanya terikat pada Rajah pada penciptaan mereka. Ini mengehadkan keupayaan untuk menggunakan semula AxesSubplots merentas berbilang angka.

Soalan:
Adakah mungkin untuk mencipta objek AxesSubplot secara bebas daripada kejadian Rajah dan kemudian menambahkannya pada angka yang berbeza sebagai diperlukan?

Jawapan:

Ya, adalah mungkin untuk mengasingkan penciptaan AxesSubplot dan penambahan Rajah dalam matplotlib. Terdapat dua pendekatan utama:

Melalui Fungsi dengan Kejadian Axes:

  • Buat fungsi yang mengambil contoh Axes sebagai hujah.
  • Laksanakan kod plot dalam fungsi ini.
  • Lepasi kod sedia ada atau yang baru dibuat Contoh Axes kepada fungsi.
  • Ini membenarkan penggunaan semula subplot yang sama dalam berbilang angka dengan menghantar contoh Axes yang sama kepada panggilan fungsi yang berbeza.

Melampirkan Axes pada Rajah :

  • Buat tika Axes secara bebas daripada Rajah.
  • Tambah tika Axes pada Rajah menggunakan kaedah Figure.axes.append().
  • Nyatakan geometri yang diingini dalam kaedah append().
  • Ini pendekatan membenarkan penggunaan semula tika Axes merentas berbilang angka, tanpa mengira saiz atau bilangan angka subplot.

Kod Contoh:

Fungsi Lulus dengan Kejadian Axes:

import numpy as np
import matplotlib.pyplot as plt

def plot_sin(ax):
    x = np.linspace(0, 6 * np.pi, 100)
    ax.plot(x, np.sin(x))
    ax.set_ylabel('Yabba dabba do!')

fig1, (ax1, ax2) = plt.subplots(nrows=2)
plot_sin(ax1)
plot_sin(ax2)

fig2 = plt.figure()
ax3 = fig2.add_subplot(111)
plot_sin(ax3)

plt.show()

Menambahkan Kapak pada Angka:

import numpy as np
import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
fig2.axes.append(ax1)

plt.show()

Atas ialah kandungan terperinci Bolehkah Anda Mencipta Objek AxesSubplot Secara Bebas daripada Angka 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