当前位置: 首页 > 知识库问答 >
问题:

matplotlib。pyplot与matplotlib。皮拉布

戈博易
2023-03-14

我通常使用以下软件包创建绘图:matplotlib。pylab。但是,还有一个名为matplotlib的包。pyplot

在使用它们时,我无法发现两者之间的任何区别。所以我的问题如下:

matplotlib之间的区别是什么。pylab和matplotlib。pyplot。在哪种情况下,你会建议一种而不是另一种?

共有1个答案

微生昌胤
2023-03-14

根据常见问题解答:

Pyplot为matplotlib中的底层打印库提供状态机接口。这意味着图形和轴是隐式自动创建的,以实现所需的绘图。。。。

Pylab将pyplot功能(用于绘图)与numpy功能(用于数学和处理数组)组合在一个名称空间中,使该名称空间(或环境)更像MATLAB。例如,可以像在MATLAB中一样调用sin和cos函数,同时还可以使用pyplot的所有功能。

pyplot接口通常优先用于非交互式打印(即脚本)。pylab界面便于交互式计算和绘图,因为它最大限度地减少了键入。(我的重点。)

注意

from pylab import *

也表演

from numpy import *

这将覆盖许多内置Python函数,例如:

In [5]: import __builtin__
In [6]: import numpy as np

In [5]: {name for name in set(dir(np)).intersection(dir(__builtin__)) if not name.startswith('__') and getattr(__builtin__, name) != getattr(np, name)}
Out[5]: {'abs', 'all', 'any', 'max', 'min', 'round', 'sum'}

因此,我不喜欢pylab import*中的(或者对于任何模块来说都不喜欢module import*中的),因为它会使众所周知的受欢迎的Python名称以意外的方式运行(如果您不总是记住numpy import*中的已经污染了全局名称空间)

例如

In [32]: np.all([np.arange(3), np.arange(3)])
Out[32]: False

虽然

In [33]: all([np.arange(3), np.arange(3)])
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

 类似资料:
  • 问题内容: 我试图通过自动生成的图形文件来进行数据分析并减少 刺痛 ,并报告更多的图形,为此,我一直在使用matplotlib / pyplot / pylab。效果很好,但是当我尝试在无头服务器上运行它时… 对于此应用程序,我仅使用PyLab,但在使用了一些Google之后,我将以下内容添加到pylab导入之前: 哪个应该更改了后端,但没有任何效果。 有什么想法我做错了吗? 远程机器确实具有X转

  • 问题内容: 我正在尝试保存使用matplotlib创建的图;但是,图像保存为空白。 这是我的代码: tessstttyyy.png为空白(也尝试使用.jpg) 问题答案: 首先,什么时候发生?我会测试一下,然后再调整传递给的值;可以尝试输入值131、132和133,或者取决于是否存在的值。 其次,在调用之后,创建一个新图形。为了解决这个问题,您可以 致电之前致电 通过调用“获取当前图形”来保存图形

  • Matplotlib是Python的绘图库。 它与NumPy一起使用,为MatLab提供了一个有效的开源替代环境。 它也可以用于PyQt和wxPython等图形工具包。 Matplotlib模块最初由John D. Hunter编写。 自2012年以来,Michael Droettboom是首席开发人员。 目前,Matplotlib ver。 1.5.1是可用的稳定版本。 该软件包以二进制分发形式

  • 我试图运行matplotlib留档中的contourf示例。当我从python shell运行它时,一切都运行良好,但是当我将其作为脚本(pythoncontourf_demo.py)运行时,会出现以下错误: 回溯(最近一次呼叫最后一次): 文件"matplotlib.py",第3行,在 导入matplotlib.pyplot 文件“/home/user/dir/contourf_demo.py”

  • 问题内容: Matplotlib中我最喜欢做的事情之一是设置颜色循环以匹配某些颜色图,以生成线图,这些线图在各行中具有很好的颜色渐变。 以前,这是使用以下代码的一行: 但是,最近我看到一个警告: 使用,我可以获得相同的结果,但是我需要,并且语法不太紧凑: 因此,我的问题是: 我使用正确吗?(以最有效的方式?) 有没有更简单的方法将颜色循环设置为颜色图?换句话说,是否有一些神话般的功能? 这是完整示

  • 问题内容: 和方法之间有什么区别?一个人是否将另一个人用作子例程? 看来我的绘图选项是 要么 甚至 在某些情况下,优先使用一种而不是另一种? 问题答案: 对于绘制单个图,最佳实践可能是 现在,让我们看一下问题中的3个示例,并说明它们的作用。 获取当前图形和坐标轴(如果不存在,将创建一个新图形)并绘制到其中。 在您的情况下,其行为与之前明确指定绘图轴的行为相同。 line = ax.plot(dat