Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta Subplot Matplotlib dengan Saiz Boleh Dikonfigurasi Secara Fleksibel?
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!