推荐哪种绘制方式:matplotlib或pylab?[关闭]

发布于 2021-01-29 15:08:42

已关闭 。这个问题是基于观点的。它当前不接受答案。


想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。

2年前关闭。

改善这个问题

我看到我可以使用以下任一方法在 Python中* 进行 绘图*

import matplotlib
matplotlib.pyplot.plot(...)

要么:

import pylab
pylab.plot(...)

两者都使用相同的 matplotlib 绘图代码。

那么,Matplotlib开发人员/文档当前建议使用哪种方法作为更好的绘图方法?为什么?

关注者
0
被浏览
75
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    官方文档:Matplotlib,pyplot和pylab:它们之间有什么关系?

    这两种导入都可以做完全相同的事情,并且将运行完全相同的代码,这只是导入模块的方式不同。

    还要注意,它matplotlib有两个接口层,一个由其管理的状态机层,一个基于pyplot该接口的OO接口pyplot,请参见如何将pyplot函数附加到图形实例?

    pylab这是将大量有用的函数(pyplot状态机函数,大部分numpy)批量导入单个名称空间的一种干净方法。存在的主要原因(据我了解)是与之ipython合作的一个非常好的交互式shell,它或多或少地复制了MATLAB(从而使转换更容易并且因为它很适合玩耍)。看到pylab.pymatplotlib/pylab.py

    在某种程度上,这 纯粹是 一个品味问题,并且在某种程度上取决于您在做什么。

    如果您 嵌入gui(使用批量脚本的非交互式后端或使用提供的交互式后端之一),通常要做的是

    import matplotlib.pyplot as plt
    import numpy as np
    
    plt.plot(....)
    

    不会污染名称空间。我更喜欢这样做,这样我就可以跟踪东西的来源。

    如果您使用

    ipython --pylab
    

    这相当于跑步

    from pylab import *
    

    现在建议ipython您为新版本使用

    ipython --matplotlib
    

    这将设置所有适当的背景详细信息,以使交互式后端正常工作,但不会批量导入任何内容。您将需要显式导入想要的模块。

    import numpy as np
    import matplotlib.pyplot as plt
    

    是一个好的开始。

    如果您要嵌入matplotlibgui,则不要导入pyplot,因为那样会启动额外的gui主循环,确切的导入内容取决于您正在执行的操作。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看