首頁 > 後端開發 > Python教學 > 如何在 Matplotlib 中建立不連續的 X 軸?

如何在 Matplotlib 中建立不連續的 X 軸?

DDD
發布: 2024-11-27 04:55:10
原創
496 人瀏覽過

How to Create a Discontinuous X-axis in Matplotlib?

在 Matplotlib 中建立不連續軸

在 Matplotlib 中,可以修改 x 軸的外觀以指示兩個值範圍之間的不連續性。

自訂軸

雖然沒有直接的方法來創建對於不連續軸,您可以透過自訂軸標籤和外觀來實現類似的效果。一種方法是使用自訂變換來建立不連續軸。

子圖

如果您不想建立自訂變換,可以使用子圖來實現所需的效果。透過建立兩個具有不同 x 軸限制的子圖並隱藏它們之間的脊柱,您可以模擬不連續的軸。

範例

import matplotlib.pyplot as plt
import numpy as np

x = np.r_[0:1:0.1, 9:10:0.1]
y = np.sin(x)

fig, (ax, ax2) = plt.subplots(1, 2, sharey=True)

ax.plot(x, y, 'bo')
ax2.plot(x, y, 'bo')

ax.set_xlim(0, 1) 
ax2.set_xlim(9, 10) 

ax.spines['right'].set_visible(False)
ax2.spines['left'].set_visible(False)
ax.yaxis.tick_left()
ax2.yaxis.tick_right()

plt.subplots_adjust(wspace=0.15)

plt.show()
登入後複製

此程式碼建立一個包含兩個子圖的圖,每個子圖顯示不同範圍的 x 值。子圖之間的重疊被隱藏,以創建不連續軸的外觀。

斷裂效果

要加入斷裂軸線 (//) 效果,可以使用以下程式碼:

ax.plot((1-d,1+d),(-d,+d), **kwargs) # top-left diagonal
ax.plot((1-d,1+d),(1-d,1+d), **kwargs) # bottom-left diagonal

kwargs.update(transform=ax2.transAxes) # switch to the bottom axes
ax2.plot((-d,d),(-d,+d), **kwargs) # top-right diagonal
ax2.plot((-d,d),(1-d,1+d), **kwargs) # bottom-right diagonal
登入後複製

其中 d 表示軸座標中對角線的大小。此代碼在每個軸的角上添加對角線,給人一種斷軸的印象。

以上是如何在 Matplotlib 中建立不連續的 X 軸?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板