如何在IPython中弹出一个交互式的matplotlib图形?

7

目前,我所有的图形都是内联的。我希望在交互式绘图中读取鼠标位置的坐标。

这里的答案

In [2]: %pylab inline 
In [3]: plot(...)

In [4]: %pylab qt  # wx, gtk, osx or tk
In [5]: plot(...) 

对我无效。

如何在IPython中弹出一个交互式的matplotlib图形?

我使用的是Windows 7操作系统。


1
你使用哪个IPython?在你的电脑上,'%pylab qt' 是否有效? - Jakob
3个回答

9
首先,您需要停止使用%pylab命令。无论此命令执行什么操作都是不可逆的,这意味着您不能从内联模式切换到其他模式。该命令被设计为过渡工具,不再建议使用。您可以在我的另一个答案中查看更多信息:什么是%pylab?
如果您想要在绘图时能够从内联模式切换到交互模式,请在笔记本的开头使用以下命令:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

当你想弹出绘图时,只需执行以下操作:
%matplotlib qt

你可以通过以下步骤再次切换回内联模式:

%matplotlib inline

3

为了澄清问题,我相信您所问的是关于IPython Notebook而不是IPython命令行解释器。

在Notebook中,与解释器一样,默认情况下图形会出现在单独的交互式窗口中。通过调用以下内容,您可以更改此默认设置:

%pylab inline

如果您删除那行代码(同时在启动笔记本时也不使用“--pylab inline”参数),则绘图会显示在一个单独的窗口中。
答案页面上的评论表明,在启用和禁用inline选项之间进行切换并不适用于所有平台。

2
你可以这样做: %matplotlib qt5 当你想切换回来时: %matplotlib inline 最初的回答。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接