簡體   English   中英

在matplotlib中疊加2個圖-空圖

[英]Superimpose 2 plots in matplotlib - empty plot

我正在嘗試使用matplotlib在同一張圖上繪制一個圓形和一個矩形。

相反,我得到了一個空的情節。 我該怎么辦?

這是我的代碼:

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline 

plt.axes()
circle = plt.Circle((0, 0), radius=0.75, fc='y')
plt.axis('scaled')
rectangle = plt.Rectangle((10, 10), 100, 100, fc='r')
plt.gca().add_patch(rectangle)

您需要設置軸限制。 您可以使用plt.autoscale()plt.xlimplt.ylim 您還需要添加圓形補丁。 在腳本末尾添加以下行:

plt.gca().add_patch(circle)
plt.autoscale()

在此處輸入圖片說明

您的代碼大部分都可以正常工作。 唯一的問題是

plt.axis('scaled')

仔細檢查您的軸限制-這條線僅適用於普通圖對象,而不適用於色塊,因此,如果您更新此條線,則只要刪除該行,就應該會看到矩形(盡管您也忘記在粘貼的代碼中添加圓 )。軸限制(我使用plt.axis([-1, 120, -1, 120])來實現此目的)。

完整的工作清單是:

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline 

plt.axes()
circle = plt.Circle((0, 0), radius=0.75, fc='y')
plt.gca().add_patch(circle)
rectangle = plt.Rectangle((10, 10), 100, 100, fc='r')
plt.gca().add_patch(rectangle)
plt.axis([-1, 120, -1, 120])

另外, plt.autoscale也可以根據tom的建議設置數據限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM