Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Berkongsi Bar Warna Tunggal Merentasi Berbilang Subplot Matplotlib?

Bagaimana untuk Berkongsi Bar Warna Tunggal Merentasi Berbilang Subplot Matplotlib?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-11 21:00:24128semak imbas

How to Share a Single Colorbar Across Multiple Matplotlib Subplots?

Berkongsi Bar Warna untuk Berbilang Subplot dalam Matplotlib

Apabila mencipta berbilang subplot dalam Matplotlib, adalah wajar untuk memaparkan bar warna biasa untuk semua plot, memastikan skema warna dan rujukan yang konsisten. Ini amat berguna apabila membandingkan nilai dan corak merentas subplot berbeza.

Dilema

Satu isu biasa apabila berkongsi bar warna ialah autokorelasi bar warna individu, setiap satu mengubah saiz untuk menampung kedua-dua plot dan bar warna dalam kotak sempadan subplot. Ini boleh mengakibatkan subplot bersaiz tidak sekata yang kelihatan tidak konsisten.

Penyelesaian: Mengasingkan Bar Warna

Penyelesaian kepada isu ini adalah dengan mencipta paksi berasingan yang dikhaskan untuk bar warna. Paksi ini kemudiannya digunakan untuk memaparkan bar warna secara berasingan daripada plot, memberikan lebih kawalan ke atas saiz dan kedudukannya.

Untuk melaksanakan pendekatan ini, ikut langkah berikut:

  1. Gunakan subplots_adjust berfungsi untuk memberi ruang kepada bar warna dalam rajah keseluruhan. Ini dilakukan dengan menyatakan sebelah kanan rajah sebagai pecahan daripada lebar rajah, biasanya di bawah sedikit 1.0 untuk meninggalkan sedikit jidar.
  2. Buat paksi subplot yang berasingan untuk bar warna menggunakan add_axes. Subplot ini harus diletakkan di sebelah kanan paksi utama.
  3. Gunakan fungsi bar warna untuk mencipta bar warna dalam paksi berasingan, dengan menyatakan paksi yang berkaitan dalam parameter cax.
  4. Sembunyikan paksi garisan dan tanda tanda pada subplot bar warna untuk memberikan rupa yang berdiri sendiri colorbar.

Berikut ialah contoh kod yang menunjukkan pendekatan:

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)
for ax in axes.flat:
    im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)

fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(im, cax=cbar_ax)

plt.show()

Kod ini mencipta empat subplot dan meletakkan satu bar warna di sebelah kanan subplot, seperti yang ditunjukkan dalam imej yang disertakan. Bar warna berkongsi skema warna dengan subplot dan saiz serta kedudukannya adalah bebas daripada subplot.

Dengan mengikuti langkah ini, adalah mungkin untuk berkongsi bar warna tunggal merentas berbilang subplot dengan berkesan, memastikan konsistensi dan meningkatkan pembentangan data.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Bar Warna Tunggal Merentasi Berbilang Subplot 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