首頁 >後端開發 >Python教學 >如何為多個 Matplotlib 子圖建立統一的色條?

如何為多個 Matplotlib 子圖建立統一的色條?

Susan Sarandon
Susan Sarandon原創
2024-12-20 07:49:09356瀏覽

How to Create a Unified Colorbar for Multiple Matplotlib Subplots?

為多個子圖實作統一的色條

建立具有共用 y 軸的子圖是 Matplotlib 中的一項常見任務。但是,在多個子圖上新增單一色條可能會導致不一致和錯位。

為了建立跨越所有子圖的色條,我們引入了一個專門用於顯示色條的附加子圖。此子圖的軸已關閉,以防止其顯示任何實際數據。

這是根據原始問題修改的程式碼片段:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
fig.subplots_adjust(wspace=0, hspace=0)

# Subplot 1
ax1 = fig.add_subplot(1, 3, 1)
plt.imshow(data1, extent=(-2, 2, -2, 2))  # Placeholder data

# Subplot 2
ax2 = fig.add_subplot(1, 3, 2, sharey=ax1)
plt.imshow(data2, extent=(-2, 2, -2, 2))  # Placeholder data

# Colorbar subplot
ax3 = fig.add_subplot(1, 3, 3)
ax3.axis('off')
cbar = plt.colorbar(ax=ax2)

plt.show()

透過將色條放置在其自己的子圖中,我們確保它保持獨立於資料圖並保持一致的大小。對 subplots_adjust 的呼叫有助於為色條騰出空間,防止其與子圖重疊。

此技術允許跨多個子圖清晰且標準化地顯示數據,從而提供更好的數據視覺表示和使比較值變得更容易。

以上是如何為多個 Matplotlib 子圖建立統一的色條?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn