Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya berkongsi paksi-x subplot secara dinamik dalam Matplotlib selepas penciptaan?

Bagaimanakah saya berkongsi paksi-x subplot secara dinamik dalam Matplotlib selepas penciptaan?

DDD
DDDasal
2024-10-25 05:58:02579semak imbas

How do I dynamically share the x-axis of subplots in Matplotlib after creation?

Berkongsi X Paksi Subplot Secara Dinamik

Masalah: Berkongsi paksi-x dua subplot selepas ia dicipta.

Penyelesaian:

Perkongsian paksi biasanya dilakukan semasa pembuatannya menggunakan parameter sharex. Walau bagaimanapun, dalam kes di mana subplot telah dibuat, adalah mungkin untuk berkongsi paksi-x mereka menggunakan ax2.sharex(ax1).

Berikut ialah contoh kod Python untuk menggambarkan pendekatan ini:

<code class="python">import matplotlib.pyplot as plt

t = np.arange(1000) / 100
x = np.sin(2 * np.pi * 10 * t)
y = np.cos(2 * np.pi * 10 * t)

fig = plt.figure()
ax1 = plt.subplot(211)  # Create subplot 1
ax2 = plt.subplot(212)  # Create subplot 2

# Plot data in the subplots
ax1.plot(t, x)
ax2.plot(t, y)

# Share the x-axes between the subplots
ax2.sharex(ax1)

# Disable tick labels for one of the subplots to avoid duplication
ax1.set_xticklabels([])

plt.show()</code>

Dalam kod ini, selepas mencipta subplot, kami menggunakan ax2.sharex(ax1) untuk memautkan paksi-x bagi dua subplot. Untuk mengelakkan label tanda pendua, kami melumpuhkannya secara manual untuk ax1.

Sebagai alternatif, anda boleh menggunakan gelung untuk berkongsi paksi-x untuk senarai subplot, seperti:

<code class="python">axes = [ax1, ax2, ax3]

for ax in axes[1:]:
    ax.sharex(axes[0])</code>

Atas ialah kandungan terperinci Bagaimanakah saya berkongsi paksi-x subplot secara dinamik dalam Matplotlib selepas penciptaan?. 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