1
我有兩種方法:顯示圖像的generate_window()和顯示圖像的窗口上點擊的on_click()。他們是這樣的:Pyplot:刷新imshow()窗口
def generate_panel(img):
plt.figure()
ax = plt.gca()
fig = plt.gcf()
implot = ax.imshow(img)
# When a colour is clicked on the image an event occurs
cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
def onclick(event):
if event.xdata != None and event.ydata != None:
# Change the contents of the plt window here
在我希望能夠改變在PLT窗口中顯示的圖像的代碼的最後一行,但我似乎無法得到它的工作。我在不同的地方嘗試過set_data()和draw(),但那沒有奏效。有什麼建議麼?提前致謝。
你將如何實現這個的,即要在某個方法被調用來更新特定插曲matplotlib次要情節? – user3396592
我不完全確定這一點,也許它取決於您使用的後端。 我相信matplotlib每次調用'draw()'函數時都會渲染整個畫布。 您可以將不同的座標軸/繪圖放在不同的圖形/腔體中,並用'fig_n.canvas.draw()'選擇性地更新它們。 另一種方法是將所有子圖放在同一個畫布/圖中並選擇性地更新其數據,但始終顯示整個畫布(所有子圖)。 – tmms