如何在IPython中弹出交互式matplotlib图?

Sib*_*ing 5 python matplotlib ipython ipython-notebook

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

这个答案在这里

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

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

对我不起作用。

如何在IPython中弹出交互式matplotlib图?

我正在使用Windows 7作为操作系统。

Shi*_*hah 8

首先,您需要停止使用%pylab. 无论这个命令做什么都是不可逆的,这意味着你不能从内联模式切换到其他模式。此命令被设计为过渡工具,不再推荐。您可以在我的另一个答案中看到更多信息什么是 %pylab?.

如果您希望能够为绘图从内联模式切换到交互模式,请在笔记本开头使用以下内容:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)

当您想要弹出情节时,只需执行以下操作:

%matplotlib qt
Run Code Online (Sandbox Code Playgroud)

您可以通过执行以下操作再次切换回内联模式:

%matplotlib inline
Run Code Online (Sandbox Code Playgroud)


Dav*_*son 3

为了澄清这个问题,我相信您是在问 IPython 笔记本,而不是 IPython 命令行解释器。

在笔记本中,与解释器一样,默认情况下绘图显示在单独的交互式窗口中。您可以通过调用来更改此默认值

%pylab inline
Run Code Online (Sandbox Code Playgroud)

如果删除该行(并且启动笔记本时也不使用 --pylab 内联参数),则绘图将显示在单独的窗口中。

您链接的答案的评论表明,在内联和非内联之间来回切换并不适用于所有平台。