2017-01-24 299 views
0

我有一些x和y座標這樣繪製:與while循環

x = [None, 5, 7, None, None, 9] 
y = [1, 2, 3, 4, 5, 6] 

我希望有一個while循環經歷又各列表項並繪製一個圓形的標記,如果它有一個xy座標,然後劇情必須停留在那裏,因爲它會繼續繪製更多的值,最終它會繪製列表中的每個值。

代碼:

i = 0 
while i < 100: 
    plt.plot((b[i]), (a[i]), marker='o') 
    plt.ion() 
    plt.pause(1) 
    i += 1 

某種原因,它似乎畫出標記,然後消失,任何想法?

+0

你想讓它每個點後暫停所有的數據適合在同一醚:情節?你可以簡單地給它提供預處理元素的列表。 –

+0

假設複製間隔爲1秒的數據,因此需要暫停顯示。 – TrippinDumplings

回答

3

您的問題給出了名單xy然後在循環使用ab,所以我就做了的東西爲ab,並假設你有過濾出無的工作的。

a = [1, 5, 7, 1, 1, 9] 
b = [1, 2, 3, 4, 5, 6] 

您只需要設置交互式一次 - 不會在循環中重複。但這不是問題的原因 - 只是說

plt.ion() 

for (x, y) in zip(a,b): 
    plt.plot(x, y, marker = 'o') 
    plt.pause(1) 

我觀察到的是,點顯示出來 - 但規模的變化來顯示新的點 - 別人是關閉屏幕。如果我縮小足夠的所有點實際上在那裏。

您不妨對您的座標軸進行一些思考;像

plt.xlim([min(a)-1, max(a)+1]) 
plt.ylim([min(b)-1, max(b)+1]) 

應該不加分似乎消失

enter image description here