2016-07-16 35 views
1

我運行Ipthon在終端,在Linux(不是一個jupyter筆記本)。Interractive plot Ipython 5.0.0在終端

在IPython中2.4.1,以下命令將打開一個彈出交互Tk 繪圖窗口:

(prodEnv)[[email protected] sandbox]$ ipython 
IPython 2.4.1 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 


In [1]: 

In [1]: %matplotlib 
Using matplotlib backend: TkAgg 
In [2]: import matplotlib.pyplot as plt 
In [3]: import numpy as np 
In [4]: plt.ion() 
In [5]: x = np.arange(0, 4*np.pi, 0.1) 
In [6]: y = [np.sin(i) for i in x] 
In [7]: plt.plot(x, y, 'g-', linewidth=1.5, markersize=4) 
Out[7]: [<matplotlib.lines.Line2D at 0x7f5c8a8b6410>] 

在IPython中5.0.0,當我使用相同的代碼:

(prodEnv)[[email protected] sandbox]$ ipython3 
Python 3.4.1 (default, Nov 3 2014, 14:38:10) 
Type "copyright", "credits" or "license" for more information. 

IPython 5.0.0 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

In [1]: %matplotlib 
    ...: import matplotlib.pyplot as plt 
    ...: import numpy as np 
    ...: plt.ion() 
    ...: x = np.arange(0, 4*np.pi, 0.1) 
    ...: y = [np.sin(i) for i in x] 
    ...: plt.plot(x, y, 'g-', linewidth=1.5, markersize=4) 
    ...: 
Using matplotlib backend: agg 
Out[1]: [<matplotlib.lines.Line2D at 0x7fe49ae9c208>] 

沒有出現。我如何在Iptyhon 5.0.0中彈出交互式繪圖?

+0

'%matplotlib'爲您要使用的後端採用一個附加的可選參數。請參閱'%matplotlib --list'獲取所有可用後端的列表 – cel

+0

好的,我應該選擇哪一個獲得與ipython 2.4.1中相同的圖? – user189035

回答

1

ipython的輸出中,使用TkAgg即tk(python-tk)作爲後端。

使用matplotlib後端:TkAgg

但隨着ipython3,它是agg

使用matplotlib後端:AGG

我嘗試用ipython3TkAgg後端它的工作就好像ipython。 您可能需要安裝python3-tk以使用TkAggmatplotlib

+0

是的,我希望有一種方法可以在不使用sudo命令(來自虛擬env)的情況下做到這一點,但似乎不可能。 – user189035