首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ipython -pylab vs ipython

ipython -pylab vs ipython
EN

Stack Overflow用户
提问于 2013-12-11 17:06:56
回答 3查看 10.3K关注 0票数 11

ipython --pylab到底是做什么的?

ipython --pylab 完全等价于:

代码语言:javascript
复制
 > ipython
 > from pylab import *

如果没有,有什么不同呢?

假设我启动了IPython 而没有 --pylab参数,我如何才能使它达到与 --pylab启动时相同的状态?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-11 19:44:17

--pylab[=option]在技术上几乎等同于%pylab option,因为您不能使用--pylab内核,但您可以重新启动%pylab内核。

%pylab更多的是from pylab import * (更长的解释见%pylab?),但简而言之,它导入了很多东西,但它也钩子事件循环(qt,wx,osx.)并为matplotlib设置一些显示挂钩(那些神奇地允许您获取内联图的东西)。如果您想知道,设置显示挂钩更接近于类似sympy.init_printing()的东西。

请注意,从IPython 1.0开始,我们建议不要使用--pylab%pylab (除非您确切知道其含义)。我们只提供显示钩子的%matplotlib。如果替换了当前命名空间中的几个对象,以及哪个对象,%pylab将向您发出警告。这对于像sum这样的函数非常有用,因为它没有相同的行为,有和没有pylab的行为,并且会导致微妙的bug。

我们现在认为--pylab是一个错误,但在IPython开始时,它仍然是有用的。我们都知道Explicit is better than implicit,所以如果你能建议人们不要使用%pylab,我们会很感激的,总有一天我们会摆脱它。

从%pylab中提取只提供pylab的导入部分的帮助:

代码语言:javascript
复制
%pylab makes the following imports::

import numpy
import matplotlib
from matplotlib import pylab, mlab, pyplot
np = numpy
plt = pyplot

from IPython.display import display
from IPython.core.pylabtools import figsize, getfigs

from pylab import *
from numpy import *
票数 23
EN

Stack Overflow用户

发布于 2013-12-11 17:32:03

除了导入之外,一个显著的区别是交互式绘图,您可以通过以下方式动态地启用该绘图:

代码语言:javascript
复制
import matplotlib
matplotlib.rcParams['interactive'] = True
票数 4
EN

Stack Overflow用户

发布于 2013-12-11 17:23:47

我认为命令行上的--pylab选项等同于使用%pylab魔术。至少我就是这么用的。这也使您有机会选择绘图后端,即%pylab inline%pylab qt等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20525459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档