python – 是否有文档将matplotlib的有状态pyplot API映射到面向对象的等价物?

我更喜欢使用Matplotlib的面向对象的API,直接在数字和轴上操作,而不是使用matplotlib.pyplot命令.

但是我经常发现通过pyplot界面找到关于如何做某事的文档更容易.在这些情况下,根据图和轴方法找出相关的pyplot命令正在做什么非常有用,因为它可以帮助我处理我在寻找文档时遇到的任何特定的角落情况.

例如,如果ax是pyplot的有状态接口中的“当前”轴,则plt.xlabel()等效于ax.set_xlabel().但是我在xlabel()文档中找不到任何提到Axes.set_xlabel()的东西.在这种情况下,在Axes文档中单独查找并不是很难,但映射会非常好.

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

最佳答案 使用来源,卢克!许多pyplot commans只是围绕Axes或Figure方法的非常薄的包装器.我通常使用I
Python.

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
点赞