5.3. matplotlib

5.3.1. 语法

提供了 plot 等指令.

5.3.1.1. plot

https://matplotlib.org/devel/plot_directive.html

plot 可以包含一个编写 matplotlib 作图的 Python 代码, 并将其渲染为图形. 同样也可以在下方一个缩进单位的区块中直接编写代码:

.. plot:: _code/sinx.py
    :include-source:

    添加一些描述(可选的)

.. plot::

    import matplotlib.pyplot as plt
    import numpy as np

    x = np.linspace(-6, 6, 1000)
    y = np.sin(x)
    plt.plot(x, y)
    plt.title("sin(x)")

    # 最后必须要调用 show 方法, 才能显示
    plt.show()
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-6, 6, 1000)
y = np.cos(x)
plt.plot(x, y)
plt.title("cos(x)")
# 最后必须要调用 show 方法, 才能显示
plt.show()

(Source code, png, hires.png, pdf)

../_images/cosx.png

添加一些描述(可选的)

(Source code, png, hires.png, pdf)

../_images/matplotlib-1.png

默认会生成 png, big png, pdf 三种格式的图片.

  • 可以给 plot 指令使用参数 :include-source: 将源代码插入到图片上方.

5.3.2. 配置

需要在conf.py 文件的 extension 列表中添加项目 'matplotlib.sphinxext.plot_directive' 项目, 以启用 plot 指令.

其他可设置项:

5.3.2.1. plot_pre_code

在每幅图的代码中都会首先执行的代码, 设置后将不需要在代码中重复书写:

plot_pre_code = """
import numpy as np
import matplotlib.pyplot as plt
"""

5.3.2.2. plot_include_source

设置每幅图的 :include-source: 选项的默认值:

plot_include_source = False

5.3.2.3. plot_basedir

生成图像的默认储存位置, 默认为代码文件所在目录:

plot_basedir = 'img/'