IPython有无笔记本差异

IPython有无笔记本差异,python,numpy,matplotlib,ipython,ipython-notebook,Python,Numpy,Matplotlib,Ipython,Ipython Notebook,我最喜欢的Python最重要的即兴创作之一是IPython和IPython笔记本 我一直在观察和重复上面的内容,发现了一些问题 如视频中所述,我使用ipython--pylab启动ipython。 我使用ipython笔记本--pylab启动ipython笔记本 问题:scatter()。 函数rand()的情况也是如此。我猜pylab与matplotlib、scipy、numpy、random和其他基本库一起加载 如果我错了,请告诉我。顺便说一下,我的IPython和IPython笔记本都是从

我最喜欢的Python最重要的即兴创作之一是IPython和IPython笔记本

我一直在观察和重复上面的内容,发现了一些问题

如视频中所述,我使用
ipython--pylab
启动ipython。 我使用
ipython笔记本--pylab
启动ipython笔记本

问题:
scatter()。
函数
rand()
的情况也是如此。我猜
pylab
matplotlib
scipy
numpy
random
和其他基本库一起加载

如果我错了,请告诉我。顺便说一下,我的IPython和IPython笔记本都是从我的Anaconda Dist.加载的,如果这意味着什么的话

另外,当我使用
--pylab
时,任何我可以知道所有加载内容的资源都会有所帮助


谢谢。

这就是
pylab
标志的作用:

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

from IPython.core.pylabtools import figsize, getfigs

from pylab import *
from numpy import *
也就是说,建议您启动不带标志的笔记本(只需
ipython notebook
),然后运行:

%matplotlib inline
有关更多详细信息,请参阅

关于分散问题,您应该尝试以下方法:

%matplotlib inline
import matplotlib.pyplot as plt

plt.scatter([1,2], [1,2])

下面是另一个不应该使用
%pylab inline
的示例:

%pylab inline
之前:
bool(所有(范围(3)中的i代表i))=>False

%pylab inline
之后:
bool(所有(范围(3)中的i代表i))=>True

%pylab inline
语句导入具有不同行为的
numpy.all
。请参阅
帮助(全部)
之前和之后的
%pylab inline
以查看。另外,请在导入之前和之后尝试
print(','.join(sorted(globals().keys()))


正如其他人所提到的,
%matplotlib inline
避免了这一问题以及由此引起的后续微妙/难以发现的问题。

我建议不要使用
--pylab
。在笔记本的开头使用
%matplotlib inline
。之后,您可以导入您想要使用的包,而不会弄乱您的名称空间。谢谢您,我会记住您的建议,不要使用pylab的标志。是的
%matplotlib inline
确实有效。我现在了解了更多关于
--pylab
。非常感谢@elyase。我成功了。我肯定会在不使用标志
--pylab
的情况下解决这个问题。“请不要用派拉布”这篇文章真的很有帮助,我的理解也确实有所增长。