2016-07-16 36 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