2015-11-24 54 views
3

我正在繪製一條線並在循環中更新它。當我在執行過程中的某個點上平移圖形,然後在交互式matplotlib窗口中單擊「重置原始視圖」時,從開始縮放/平移它的那一刻起,我會回到繪圖狀態。有沒有辦法看到情節的全部範圍呢?更妙的是,有沒有辦法告訴matplotlib在這個操作之後繼續更新視圖?「重置原始視圖」不顯示整個圖形

python 3.4.3matplotlib 1.4.3

import matplotlib 
matplotlib.use('Qt4Agg') 
import matplotlib.pyplot as plt 
import numpy as np 

fig, ax1 = plt.subplots() 
ax2 = ax1.twinx() 
values_v = [] 
values_i = [] 
ln1, = ax1.plot(values_i, values_v, color='green') 
plt.ion() 
plt.show() 

for i in range(40): 
    scopevals = [i, i+2+np.random.rand()] 

    values_v.append(scopevals[0]) 
    values_i.append(scopevals[1]) 

    ln1.set_data([values_i, values_v]) 

    ax1.relim() 
    ax1.autoscale_view(True,True,True) 

    plt.pause(1) 
+0

我一直在尋找一個答案。你有沒有找到什麼? –

+0

@NikolausDemmel不幸的是,我還沒有找到解決方案 – alkamid

+0

感謝您的答覆。我發現的唯一情況是清除軸並重新添加所有的圖和補丁,這是一個解決方法,但需要額外的手動記帳。 –

回答

-1

我遇到的問題,當我在同一圖中顯示不同的圖像。

清除蒼老的身影幫我:

plt.figure(1) #the figure you re working with 
plt.clf() #clear figure 
plt.imshow(self.sample_image) # show new picture 

和原來的觀點應該重新工作。 乾杯 Andy