Python 是否有matplotlib'的文档映射;s的有状态pyplot API到面向对象的等价物?

Python 是否有matplotlib'的文档映射;s的有状态pyplot API到面向对象的等价物?,python,matplotlib,Python,Matplotlib,我更喜欢使用Matplotlib的面向对象API,直接对图形和轴进行操作,而不是使用Matplotlib.pyplot命令 然而,我经常发现通过pyplot界面查找有关如何做某事的文档更容易。在这些情况下,了解相关的pyplot命令在图形和轴方法方面的作用将非常有用,因为它将帮助我处理在查找文档时遇到的任何特定情况 例如,plt.xlabel()。但是我在xlabel()文档中找不到任何提到轴的内容。在这种情况下,在Axis文档中单独查找并不困难,但是映射会非常好 是否有任何信息来源可以告诉我每

我更喜欢使用Matplotlib的面向对象API,直接对图形和轴进行操作,而不是使用
Matplotlib.pyplot
命令

然而,我经常发现通过
pyplot
界面查找有关如何做某事的文档更容易。在这些情况下,了解相关的
pyplot
命令在图形和轴方法方面的作用将非常有用,因为它将帮助我处理在查找文档时遇到的任何特定情况

例如,
plt.xlabel()。但是我在
xlabel()
文档中找不到任何提到轴的内容。在这种情况下,在Axis文档中单独查找并不困难,但是映射会非常好


是否有任何信息来源可以告诉我每个特定的
pyplot
命令在面向对象接口方面做了什么?

我想说,就潜在的OO API命令而言,有四类
pyplot
命令

  • 直接等效:所有绘图函数仅在
    matplotlib.axes.axes
    类中具有等效项,例如
    plt.plot
    ax.plot
    。所有辅助功能在
    matplotlib.figure.figure
    类中都具有等效功能,例如
    plt.colorbar
    fig.colorbar
    plt.subplot\u adjust
    fig.subplot\u adjust

  • 绘图属性在Axis类中有一个getter和setter,例如
    plt.title
    ax.set\u title

  • 某些pyplot命令没有任何等价项,例如
    plt.子批
    plt.show

  • 一些命令仅在pyplot命名空间中可用,需要从相应的子模块导入以进行OO接口,例如
    plt.Normalize
    import matplotlib.colors;matplotlib.colors.Normalize


  • 通常,搜索一个函数或命令会带来这两种变化。还可以明确地查看或文档以查找命令。最后,可用,您可以查看为给定pyplot命令调用哪个API函数。

    使用源代码,Luke!许多pyplot命令只是围绕
    方法的非常薄的包装。我通常使用IPython

    In [1]: import matplotlib.pyplot as plt
    
    In [2]: plt.xlabel??
    Signature: plt.xlabel(s, *args, **kwargs)
    Source:
    def xlabel(s, *args, **kwargs):
        """
        Set the *x* axis label of the current axis.
    
        Default override is::
    
          override = {
              'fontsize'            : 'small',
              'verticalalignment'   : 'top',
              'horizontalalignment' : 'center'
              }
    
        .. seealso::
    
            :func:`~matplotlib.pyplot.text`
                For information on how override and the optional args work
        """
        return gca().set_xlabel(s, *args, **kwargs)
    File:      ~\appdata\local\programs\python\python36-32\lib\site-packages\matplotlib\pyplot.py
    

    好主意!不管怎样,我通常都在Jupyter。