2016-12-03 87 views
1

我想用不同的按鍵更新不同顏色的情節。但是使用下面的代碼,只有在按下'q'後,該圖才顯示在最後。plt.plot鍵盤輸入後

任何人都可以請給點建議嗎?謝謝!

例子:

import matplotlib.pyplot as plt 
import numpy as np 

b=1 

while b: 
    a=input('Enter a key: ...') 

    if a=='b': #plot with blue color if press 'b' 
    plt.plot(np.arange(10),color='b') 
    plt.draw() 

    elif a=='r': #plot with red color if press 'r' 
    plt.plot(np.arange(10),color='r') 
    plt.draw() 

    elif a=='q': 
    b=0 

回答

0

我已經試過你的代碼沒有成功。對我而言,即使按q後也不會出現任何情節。我不知道這是否與matplotlib,操作系統後端或Python版本有關。

我把它改成如下......這似乎工作,儘管醜陋又多了一些「第一時間」代碼到plt.show(block=False)的關鍵變化。在顯示plt時,block=False允許腳本繼續。

import matplotlib.pyplot as plt 
import numpy as np 

b=1 

# First time 
a=raw_input('Enter a key: ...') 
if a=='b': #plot with blue color if press 'b' 
    plt.plot(np.arange(10),color='b') 
    plt.show(block=False) 

elif a=='r': #plot with red color if press 'r' 
    plt.plot(np.arange(10),color='r') 
    plt.show(block=False) 


# update 
while b: 
    a=raw_input('Enter a key: ...') 

    if a=='b': #plot with blue color if press 'b' 
     plt.plot(np.arange(10),color='b') 
     plt.draw() 

    elif a=='r': #plot with red color if press 'r' 
     plt.plot(np.arange(10),color='r') 
     plt.draw() 

    elif a=='q': 
     b=0 

我希望有一些更好的方法來做到這一點。