我正在使用IPython with --pylab=inline
,有时想快速切换到交互式的、可缩放的matplotlib GUI来查看绘图(当你在终端Python控制台中绘图时弹出的图形)。我该怎么做呢?最好不要离开或重新启动我的笔记本。
IPy notebook中内联绘图的问题是分辨率有限,我无法放大它们来查看一些较小的部分。使用从终端启动的maptlotlib GUI,我可以选择图形的一个矩形来放大,轴也会相应地调整。我尝试了
from matplotlib import interactive
interactive(True)
以及
interactive(False)
但那没有用。我在网上也找不到任何提示。
9条答案
按热度按时间vngu2lb81#
根据documentation,您应该能够像这样来回切换:
并且会弹出一个常规的绘图窗口(可能需要在笔记本上重新启动)。
xoshrz7s2#
如果你想做的只是从内联图切换到交互式和交互式(这样你就可以平移/缩放),最好使用%matplotlib魔术。
并返回到html
%pylab magic导入了一堆其他的东西,甚至可能导致冲突,它确实“from pylab import *"。
您还可以使用新的笔记本后端(在matplotlib 1.4中添加):
如果你想让你的图表有更多的交互性,你可以看看mpld 3和散景。如果你没有太多的数据点(例如〈5 k+),并且你想使用普通的matplotlib语法,mpld 3是很棒的,但是与%matplotlib notebook相比,它有更多的交互性。散景可以处理很多数据,但是你需要学习它的语法,因为它是一个独立的库。
你也可以 checkout pivottablejs(pip安装pivottablejs)
无论交互式数据探索有多酷,它都可能完全扰乱可重复性。我也遇到过这种情况,所以我尝试只在非常早期的阶段使用它,一旦我对数据有了感觉,就切换到纯内联matplotlib/seaborn。
t9eec4r03#
从matplotlib 1.4.0开始,现在有了一个交互式后端,可在笔记本中使用
有几个版本的IPython没有注册该别名,备用方法是:
如果这不起作用,请更新IPython。
要使用此功能,后藤tmpnb.org
并粘贴
到一个代码单元格中(或者只是修改现有的python演示笔记本)
bfrts1fy4#
您可以使用
第一个月
如果您收到错误
ImportError: Failed to import any qt binding
,请将PyQt5安装为:pip install PyQt5
,它对我很有效。goqiplq25#
Charts库可能是一个更好的解决方案。它使您能够使用优秀的Highcharts javascript库来制作美观的交互式图表。Highcharts使用HTML
svg
标签,因此所有图表实际上都是矢量图像。一些特点:
5lwkijsr6#
我正在www.example.com上的Anaconda的“jupyter QTConsole”中使用ipythonwww.continuum.io/downloads日期为20117年5月28日。
下面是一个使用ipython magic在单独窗口和内联绘图模式之间来回切换的示例。
csbfibhn7#
重新启动内核并清除输出(如果不是使用新笔记本启动),然后运行
有关详细信息,请转到使用matplotlib绘图
nfg76nw08#
我找到了一个解决方案,我卸载了pyqt5,它是通过apt安装的,然后,我通过pip重新安装,这解决了导入错误。
c7rzv4ha9#
matplotlib.use('nbagg')
在新版matplotlib中不起作用。相反,我们使用魔术函数,
它在新版本的matplot库(〉3.0)中工作。