Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta Subplot Matplotlib dengan Saiz Boleh Dikonfigurasi Secara Fleksibel?

Bagaimanakah Saya Boleh Mencipta Subplot Matplotlib dengan Saiz Boleh Dikonfigurasi Secara Fleksibel?

Susan Sarandon
Susan Sarandonasal
2024-12-15 06:55:12795semak imbas

How Can I Create Matplotlib Subplots with Flexibly Configurable Sizes?

Mengkonfigurasi Saiz Subplot Secara Fleksibel dalam Matplotlib

Mencipta subplot dengan saiz yang berbeza-beza ialah keperluan biasa apabila menggambarkan data. Matplotlib menawarkan dua pendekatan untuk melaraskan dimensi subplot: dengan menggunakan GridSpec atau dengan mengkonfigurasi angka itu sendiri.

Menggunakan Rajah Matplotlib untuk Saiz Subplot

Dalam contoh yang disediakan, tugasan adalah untuk mencipta dua subplot dengan subplot pertama tiga kali lebih lebar daripada yang kedua. Menggunakan pembina rajah, saiz plot pertama boleh dilaraskan menggunakan hujah figsize. Walau bagaimanapun, saiz plot kedua tidak boleh dikawal secara langsung dengan cara ini.

Penyelesaian dengan Argumen Kata Kunci (Matplotlib >= 3.6.0)

Setakat versi Matplotlib 3.6.0, hujah kata kunci boleh dihantar terus ke plt.subplots dan subplot_mosaic untuk menentukan nisbah_lebar atau nisbah_tinggi bagi subplot. Ini menghapuskan keperluan untuk GridSpec untuk tugas khusus ini.

import matplotlib.pyplot as plt

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, width_ratios=[3, 1])

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Save to PDF
f.savefig('custom_width_subplots.pdf')

Menggunakan Subplots dengan Gridspec_kw

Untuk versi Matplotlib yang lebih awal, atau untuk kawalan yang lebih terperinci ke atas susun atur subplot, fungsi subplot dengan argumen gridspec_kw boleh digunakan. Pendekatan ini melibatkan penciptaan angka dan subplot individu, ditentukan dengan nisbah_lebar atau nisbah_tinggi dalam kamus gridspec_kw.

import numpy as np
import matplotlib.pyplot as plt

# Generate data
x = np.arange(0, 10, 0.2)
y = np.sin(x)

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Tighten layout and save to PDF
f.tight_layout()
f.savefig('grid_figure.pdf')

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Subplot Matplotlib dengan Saiz Boleh Dikonfigurasi Secara Fleksibel?. 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