2017-10-09 48 views
-1

繼承人什麼我試圖在matplotlib.pyplot使用jupyter qtconsole我的翻譯:不能重新劇情人物

In [1]: import matplotlib.pyplot as plt 
In [2]: plt.plot([1,2,3]) 
Out[2]: [<matplotlib.lines.Line2D at 0x7ab5710>] 
In [3]: plt.show() 
plt.plot([4,5,6]) 
Out[4]: [<matplotlib.lines.Line2D at 0x7d8d5c0>] 
In[5]: plt.show() 
In[6]: plt.figure(1).show() 
c:\python35\lib\site-packages\matplotlib\figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure 
    "matplotlib is currently using a non-GUI backend, " 

兩個In[3]In[5]成功地將數據輸出的直列情節。 In[6]是我重新繪製第二張圖的嘗試。不幸的是,我收到了關於非GUI後端的錯誤消息。理想情況下,我想要做的是首先繪製數據(例如使用腳本),然後使用解釋器修改繪圖,重新繪製它,看看我是否喜歡這些變化,修改更多,重繪等等。這甚至可能使用我的設置上面?

編輯

有與應該重複的兩個主要區別:它被廢棄

  • 有一個在其他問題就沒有解釋

    • OP中的其他問題是使用pylab我的最後一點。好,所以沒有數字顯示......這就解釋了爲什麼沒有數字輸出。這並沒有回答這個問題。如何獲得一個簡單的功能界面,用戶可以修改現有的繪圖並隨意重新繪製它?
  • +2

    的[顯示圖形窗口不止一次]可能的複製(https://stackoverflow.com/questions/15724747/showing-the-plot-window-more一次-than) – jotasi

    回答

    0

    在python控制檯或腳本中的行爲肯定有點不同於在jupyter qt控制檯。對於Python腳本this answer是完全正確的:調用plt.show()之後沒有數字顯示。
    在jupyter qt控制檯中,使用了不同的後端,默認情況下會自動將內聯數字內聯。這樣可以使用面向對象的API並使用圖形和座標軸手柄。

    在這裏,只是在單元格中指定圖柄會使圖形顯示出來。

    In [1]: import matplotlib.pyplot as plt 
    
    In [2]: fig, ax = plt.subplots() 
    
    In [3]: ax.plot([1,2,3]) 
    Out[3]: [<matplotlib.lines.Line2D at 0xb34a908>] 
    
    In [4]: plt.show() # this shows the figure. 
    # However, from now on, it cannot be shown again using `plt.show()` 
     
    # change something in the plot: 
    In [5]: ax.plot([2,3,1]) 
    Out[5]: [<matplotlib.lines.Line2D at 0xb4862b0>] 
    
    In [6]: plt.show() # this does not work, no figure shown 
    
    # However, just stating the figure instance will show the figure: 
    In [7]: fig 
    Out[7]: # image of the figure