Python Academy · Pelajaran

Subplot dan Susun Atur

Gabungkan berbilang carta

Pelajaran 4 daripada 413 langkah

Subplot dan Susun Atur ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Mengapa Beberapa Carta

Selalunya satu carta tidak mencukupi. Anda mungkin mahu membandingkan beberapa pandangan secara bersebelahan atau memecahkan graf yang sarat kepada bahagian-bahagian yang lebih kecil. Matplotlib menamakan penyusunan beberapa kawasan graf di dalam satu rajah sebagai susun atur berbilang kawasan graf.

Alat utamanya ialah plt.subplots(rows, cols).

Susunan Kawasan Graf Berpetak

fig, axes = plt.subplots(2, 3) mencipta rajah dengan susunan berpetak 2 kali 3, lalu memberikan anda enam kawasan graf. Hasil axes ialah tatasusunan 2D yang anda indeks seperti axes[0][1].

Jumlah ruang carta hanyalah hasil darab baris dengan lajur.

rows, cols = 2, 3
total = rows * cols
print('Grid', rows, 'x', cols, '=', total, 'axes')
for r in range(rows):
    for c in range(cols):
        print('panel at', (r, c))

Mengindeks Tatasusunan Kawasan Graf

Dengan satu baris sahaja, axes adalah satu dimensi: gunakan axes[0], axes[1]. Dengan susunan berpetak penuh, ia adalah dua dimensi: axes[row][col].

Untuk satu subgraf sahaja, pengindeksan langsung tidak diperlukan.

Mengulang Ruang Carta

Corak yang kemas ialah meratakan susunan berpetak dan melakukan gelung, sambil memadankan setiap kawasan graf dengan datanya. Cara ini mengelakkan anda mengulangi kod yang hampir sama untuk setiap ruang carta.

datasets = ['A', 'B', 'C', 'D']
# imagine axes flattened to a list of 4
for i, name in enumerate(datasets):
    print('Plot dataset', name, 'on flat axes index', i)

Kawasan Graf Berkongsi Skala

Apabila ruang carta berkongsi skala, berikan sharex=True atau sharey=True. Subgraf kemudiannya menggunakan satu julat sepunya, yang menjadikan perbandingan lebih adil dan menghapuskan nama tanda skala yang berulang.

Ini sesuai untuk siri masa bertindan.

Saiz Rajah untuk Susunan Berpetak

Susunan berpetak memerlukan lebih banyak ruang berbanding satu graf. Tetapkan figsize=(width, height) dalam inci apabila memanggil subgraf. Sebagai panduan umum, skalakan saiz mengikut bilangan lajur dan baris.

cols, rows = 3, 2
per_panel_w, per_panel_h = 3, 2.5
print('Suggested figsize:', (cols * per_panel_w, rows * per_panel_h))

Jarak antara Ruang Carta

Ruang carta boleh menjadi terlalu rapat. fig.tight_layout() membetulkan kebanyakan keadaan secara automatik. Untuk kawalan yang lebih terperinci, gunakan fig.subplots_adjust(wspace=0.4, hspace=0.4) bagi menetapkan jarak mendatar dan menegak.

Nilai yang lebih besar bermaksud lebih banyak ruang antara subgraf.

Susun Atur Tidak Sekata dengan GridSpec

Tidak semua susun atur berbentuk susunan berpetak seragam. GridSpec membolehkan satu kawasan graf merentangi beberapa baris atau lajur, contohnya carta lebar di bahagian atas dan dua carta kecil di bawah.

Anda mentakrifkan susunan berpetak itu, kemudian menggunakan hirisan sepertimana pada tatasusunan untuk meletakkan setiap kawasan graf.

Merancang Rentangan

Anggap hirisan GridSpec seperti julat. Carta di bahagian atas yang merentangi semua lajur ialah gs[0, :]; carta di bahagian bawah kiri ialah gs[1, 0]. Merancang hirisan di atas kertas terlebih dahulu mengelakkan kekeliruan.

layout = {
    'header': '[0, :]   (full width)',
    'left':   '[1, 0]   (bottom left)',
    'right':  '[1, 1]   (bottom right)',
}
for name, slot in layout.items():
    print(name.ljust(7), slot)

Satu Rajah, Satu Cerita

Rajah berbilang ruang masih harus menyampaikan satu cerita yang padu. Gunakan fig.suptitle() yang dikongsi, warna yang konsisten dan skala yang dikongsi supaya semua ruang dibaca sebagai satu unit, bukannya kolaj rawak.

Penyesuaian Setiap Ruang

Oleh sebab setiap sel ialah kawasan graf sendiri, anda boleh menyesuaikannya secara berasingan. axes[0][0].set_title('Sales') memberikan tajuk hanya kepada ruang carta kiri atas, manakala axes[1][1].set_ylabel('Cost') menamakan hanya paksi ruang carta kanan bawah.

Kebebasan ini tepatnya sebab gaya berorientasikan objek sangat berguna dengan susunan berpetak.

Semakan Pantas

Uji pemahaman anda tentang susun atur berbilang ruang.

Ringkasan

Anda kini boleh menggabungkan carta:

  • plt.subplots(rows, cols) membina susunan berpetak kawasan graf
  • Indeks menggunakan axes[row][col] atau ratakan dan lakukan gelung
  • sharex/sharey menyelaraskan skala; figsize menentukan saiz susunan berpetak
  • tight_layout dan subplots_adjust mengurus jarak
  • GridSpec membolehkan ruang carta merentangi beberapa sel
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Subplot dan Susun Atur” percuma?

Ya — teks penuh “Subplot dan Susun Atur” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Subplot dan Susun Atur”?

Gabungkan berbilang carta Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Subplot dan Susun Atur” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Rajah dan Paksi
  2. Plot Garis, Bar dan Serakan
  3. Menyesuaikan Plot
  4. Subplot dan Susun Atur
← Kembali ke Python Academy