35
我有一個圖形,根據matplotlib中繪製的某些數據計算得出。我想在此圖的全局最大值周圍繪製一個矩形區域。我試過plt.axhspan,
,但是當我打電話給plt.show()
如何在matplotlib圖形中的特定區域繪製矩形
時,矩形似乎沒有出現那麼,矩形區域如何繪製到matplotlib圖上呢?謝謝!
我有一個圖形,根據matplotlib中繪製的某些數據計算得出。我想在此圖的全局最大值周圍繪製一個矩形區域。我試過plt.axhspan,
,但是當我打電話給plt.show()
如何在matplotlib圖形中的特定區域繪製矩形
時,矩形似乎沒有出現那麼,矩形區域如何繪製到matplotlib圖上呢?謝謝!
最有可能的原因是您在調用axhspan時使用了x參數的數據單位。從the function's docs(我的強調):
ýCOORDS是在數據單元和X COORDS是在軸(相對0-1) 單元。
因此,任何拉伸到左邊0或右邊1的矩形都是簡單地繪製出來的。
一個簡單的替代方案可能是將Rectangle
添加到您的座標軸(例如,通過plt.gca
和add_patch
); Rectangle
對這兩個維度都使用數據單位。以下內容將添加一個灰色矩形,其寬度爲&,高度爲1,以(2,3)爲中心:
from matplotlib.patches import Rectangle
someX, someY = 2, 3
currentAxis = plt.gca()
currentAxis.add_patch(Rectangle((someX - .5, someY - .5), 1, 1, facecolor="grey"))