matplotlib.sphinxext.plot_directive#

Sphinx 文档中包含 Matplotlib 图的指令

默认情况下,在 HTML 输出中,plot将包含一个 .png 文件,其中包含指向高分辨率 .png 和 .pdf 的链接。在 LaTeX 输出中,它将包含一个 .pdf。

绘图的源代码可以通过以下三种方式之一包含:

  1. 源文件的路径作为指令的参数:

    .. plot:: path/to/plot.py
    

    当给出源文件的路径时,指令的内容可以选择包含绘图的标题:

    .. plot:: path/to/plot.py
    
       The plot caption.
    

    此外,可以在导入模块后立即指定要调用的函数的名称(不带参数):

    .. plot:: path/to/plot.py plot_function1
    
  2. 作为指令的内联内容包含:

    .. plot::
    
       import matplotlib.pyplot as plt
       import matplotlib.image as mpimg
       import numpy as np
       img = mpimg.imread('_static/stinkbug.png')
       imgplot = plt.imshow(img)
    
  3. 使用doctest语法:

    .. plot::
    
       A plotting example:
       >>> import matplotlib.pyplot as plt
       >>> plt.plot([1, 2, 3], [4, 5, 6])
    

选项#

plot指令支持以下选项:

格式{'python', 'doctest'}

输入的格式。如果未设置,则自动检测格式。

包含源布尔

是否显示源代码。可以使用plot_include_source变量 in更改conf.py默认值(其本身默认为 False)。

编码str

如果此源文件采用非 UTF8 或非 ASCII 编码,则必须使用该:encoding:选项指定编码。不会使用元注释推断编码。-*- coding -*-

上下文bool 或 str

如果提供,代码将在:context:指定选项的所有先前绘图指令的上下文中运行。这仅适用于内联代码绘图指令,不适用于从文件运行的指令。如果指定了该选项,则为该图和未来图重置上下文,并且在运行代码之前关闭先前的图。保留上下文但在运行代码之前关闭以前的数字。:context: reset:context: close-figs

nofigs布尔值

如果指定,将运行代码块,但不会插入任何数字。这通常对:context:选项很有用。

标题str

如果指定,选项的参数将用作图形的标题。当从文件生成绘图时,这会覆盖内容中给出的标题。

此外,该指令支持该指令的所有选项image ,除了目标(因为 plot 将添加自己的目标)。这些包括altheightwidthscalealignclass

配置选项#

plot 指令具有以下配置选项:

plot_include_source

include-source 选项的默认值(默认值:False)。

plot_html_show_source_link

是否在 HTML 中显示指向源的链接(默认值:True)。

plot_pre_code

应该在每个绘图之前执行的代码。如果 None (默认值),它将默认为包含以下内容的字符串:

import numpy as np
from matplotlib import pyplot as plt
plot_basedir

基本目录,plot::文件名与之相关。如果 None 或空(默认),文件名相对于包含指令的文件所在的目录。

绘图格式

要生成的文件格式(默认:['png', 'hires.png', 'pdf'])。元组或字符串列表:

[(suffix, dpi), suffix, ...]

确定文件格式和 DPI。对于省略 DPI 的条目,选择合理的默认值。从命令行通过 sphinx_build 传递时,列表应作为 suffix:dpi,suffix:dpi, ...

plot_html_show_formats

是否以 HTML 格式显示文件的链接(默认值:True)。

plot_rcparams

包含应在每个绘图之前应用的任何非标准 rcParams 的字典(默认值:{})。

plot_apply_rcparams

默认情况下,当:context:绘图指令中未使用选项时,将应用 rcParams。如果设置,此配置选项将覆盖此行为并在每个绘图之前应用 rcParams。

plot_working_directory

默认情况下,工作目录将更改为示例的目录,因此代码可以获取其数据文件(如果有)。它的路径也将被添加,sys.path因此它可以导入它旁边的任何帮助模块。此配置选项可用于指定sys.path所有代码的数据文件和辅助模块所在的中央目录(也添加到 )。

plot_template

为准备重组文本提供自定义模板。

matplotlib.sphinxext.plot_directive。PlotDirective ( name , arguments , options , content , lineno , content_offset , block_text , state , state_machine ) [source] #

该指令,如模块的文档字符串中所述。.. plot::

final_argument_whitespace = False #

最后一个参数可以包含空格吗?

has_content = True #

指令可以有内容吗?

option_spec = {'align': <function Image.align>, 'alt': <function不变>, 'caption': <function不变>, 'class': <function class_option>, 'context': <function _option_context>, 'encoding': <function _deprecated_option_encoding>, 'format': <function _option_format>, 'height': < function length_or_unitless >, 'include-source': <function _option_boolean>, 'nofigs': <功能标志>,“规模”:<功能非负整数>, 'width': <function length_or_percentage_or_unitless>} #

将选项名称映射到验证器函数。

可选参数= 2 #

必需参数之后的可选参数的数量。

required_arguments = 0 #

所需指令参数的数量。

运行( ) [来源] #

运行绘图指令。

异常 matplotlib.sphinxext.plot_directive。PlotError [来源] #
matplotlib.sphinxext.plot_directive。mark_plot_labels ( app , document ) [来源] #

为了使绘图可引用,我们需要将引用从“htmlonly”(或“latexonly”)节点移动到实际的图形节点本身。

matplotlib.sphinxext.plot_directive。out_of_date ( original , derived , includes = None ) [source] #

返回派生的相对于原始文件或其中包含的任何 RST 文件是否过时,使用 RST 包含指令(包括)。 derivedoriginal是完整路径,includes是可选的完整路径列表,这些路径可能已包含在original中。

matplotlib.sphinxext.plot_directive。render_figures ( code , code_path , output_dir , output_base , context , function_name , config , context_reset = False , close_figs = False , code_includes = None ) [来源] #

运行 pyplot 脚本并将图像保存在output_dir中。

使用派生自 output_base的文件名将图像保存在output_dir下

matplotlib.sphinxext.plot_directive。run_code ( code , code_path , ns = None , function_name = None ) [source] #

[已弃用] 如果 function_name 不是 None,则从路径导入 Python 模块,并运行名称给出的函数。

笔记

自 3.5 版起已弃用。

matplotlib.sphinxext.plot_directive。split_code_at_show ( text ) [来源] #

[已弃用] 在 plt.show() 处拆分代码。

笔记

自 3.5 版起已弃用。

matplotlib.sphinxext.plot_directive。unescape_doctest (文本) [来源] #

[已弃用] 从一段文本中提取代码,其中包含 Python 代码或 doctests。

笔记

3.5 版后已弃用:改用 doctest.script_from_examples。