matplotlib.sphinxext.plot_directive
Директива для включения графика Matplotlib в документ Sphinx
Это расширение Sphinx, предоставляющее директиву reStructuredText .. plot:: для включения графика в документ Sphinx.
В HTML-выводе .. plot:: будет включён файл .png с ссылкой на высококачественный .png и .pdf. В LaTeX-выводе будет включён .pdf.
Содержимое графика можно определить тремя способами:
-
Путь к исходному файлу в качестве аргумента директивы:
.. plot:: path/to/plot.py
При указании пути к исходному файлу, содержимое директивы может опционально содержать подпись к графику:
.. plot:: path/to/plot.py The plot caption.
Кроме того, можно указать имя функции, которая будет вызвана (без аргументов) сразу после импорта модуля:
.. plot:: path/to/plot.py plot_function1
-
Включено как встроенное содержимое в директиву:
.. plot:: import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.title("A plotting exammple") -
Используя синтаксис doctest:
.. plot:: A plotting example: >>> import matplotlib.pyplot as plt >>> plt.plot([1, 2, 3], [4, 5, 6])
Параметры
Директива .. plot:: поддерживает следующие параметры:
-
:format:{'python', 'doctest'} -
Формат входных данных. Если не задан, формат определяется автоматически.
-
:include-source:bool -
Показывать ли исходный код. Значение по умолчанию может быть изменено с помощью переменной
plot_include_sourceвconf.py(по умолчанию False). -
:show-source-link:bool -
Показывать ли ссылку на исходный код в HTML. Значение по умолчанию может быть изменено с помощью переменной
plot_html_show_source_linkвconf.py(по умолчанию True). -
:context:bool или str -
Если указано, код будет выполняться в контексте всех предыдущих директив plot, для которых был указан параметр
:context:. Это относится только к встроенным директивам plot, а не к тем, которые выполняются из файлов. Если указан параметр:context: reset, контекст сбрасывается для текущего и последующих графиков, а предыдущие фигуры закрываются перед выполнением кода.:context: close-figsсохраняет контекст, но закрывает предыдущие фигуры перед выполнением кода. -
:nofigs:bool -
Если указано, блок кода будет выполнен, но графики не будут вставлены. Это обычно полезно с параметром
:context:. -
:caption:str -
Если указано, аргумент параметра будет использован в качестве подписи к рисунку. Это переопределяет подпись, заданную в содержимом, когда график генерируется из файла.
Кроме того, эта директива поддерживает все параметры директивы image, за исключением :target: (поскольку plot добавляет свой собственный целевой элемент). К ним относятся :alt:, :height:, :width:, :scale:, :align: и :class:.
Параметры конфигурации
Директива 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 или пустое значение (по умолчанию), имена файлов относятся к директории, содержащей файл с директивой. - plot_formats
-
Форматы файлов для генерации (по умолчанию: ['png', 'hires.png', 'pdf']). Список кортежей или строк:
[(suffix, dpi), suffix, ...]
которые определяют формат файла и DPI. Для записей, где DPI не указано, используются разумные значения по умолчанию. При передаче с командной строки через sphinx_build список следует передавать как суффикс:dpi,суффикс:dpi, ...
- plot_html_show_formats
-
Показывать ли ссылки на файлы в HTML (по умолчанию: True).
- plot_rcparams
-
Словарь, содержащий любые нестандартные rcParams, которые должны быть применены перед каждым графиком (по умолчанию: {}).
- plot_apply_rcparams
-
По умолчанию rcParams применяются, когда параметр
:context:не используется в директиве plot. Если задано, этот параметр конфигурации переопределяет это поведение и применяет rcParams перед каждым графиком. - plot_working_directory
-
По умолчанию рабочая директория будет изменена на директорию примера, чтобы код мог получить доступ к файлам данных, если таковые имеются. Также её путь будет добавлен в
sys.path, чтобы можно было импортировать любые вспомогательные модули, находящиеся рядом с ним. Этот параметр конфигурации можно использовать для указания центральной директории (которая также добавляется вsys.path), где хранятся файлы данных и вспомогательные модули для всего кода. - plot_template
-
Предоставьте настраиваемый шаблон для подготовки restructured text.
- plot_srcset
-
Разрешить опцию srcset для изображений с отзывчивыми разрешениями. Список строк с множительными факторами, следующими за "x". Например, ["2.0x", "1.5x"]. "2.0x" создаст png с разрешением по умолчанию "png" из plot_formats, умноженным на 2. Если plot_srcset задан, директива plot использует matplotlib.sphinxext.figmpl_directive (вместо обычной директивы фигуры) в промежуточном файле rst, который генерируется. Параметр plot_srcset несовместим с сборкой singlehtml, и произойдёт ошибка.
Примечания о том, как это работает
Директива plot выполняет предоставленный ей код, либо из исходного файла, либо из кода внутри директивы. Созданная фигура (если она есть) сохраняется в каталоге сборки Sphinx в подкаталоге с именем plot_directive. Затем создаётся промежуточный файл rst, который вызывает директиву .. figure: (или директиву .. figmpl:: если используется plot_srcset) и имеет ссылки на файлы *.png в каталоге plot_directive. Эти преобразования можно настроить, изменив шаблон plot_template. Обратитесь к исходному коду matplotlib.sphinxext.plot_directive для шаблонов, определённых в TEMPLATE и TEMPLATE_SRCSET.
- classmatplotlib.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 unchanged>, 'caption': <function unchanged>, 'class': <function class_option>, 'context': <function _option_context>, 'format': <function _option_format>, 'height': <function length_or_unitless>, 'include-source': <function _option_boolean>, 'nofigs': <function flag>, 'scale': <function nonnegative_int>, 'show-source-link': <function _option_boolean>, 'width': <function length_or_percentage_or_unitless>}
-
Сопоставление имён параметров со скриптами-валидаторами.
- optional_arguments=2
-
Количество необязательных аргументов после обязательных аргументов.
- required_arguments=0
-
Количество обязательных аргументов директивы.
- run()[source]
-
Выполнение директивы plot.
- exceptionmatplotlib.sphinxext.plot_directive.PlotError[source]
- matplotlib.sphinxext.plot_directive.mark_plot_labels(app, document)[source]
-
Для возможности ссылок на графики, нам необходимо перенести ссылку из узла "htmlonly" (или "latexonly") в сам узел фигуры.
- matplotlib.sphinxext.plot_directive.out_of_date(original, derived, includes=None)[source]
-
Возвращает значение, указывающее, является ли derived устаревшим по отношению к original или любому из RST-файлов, включённых в него с помощью директивы RST include (includes). derived и original — полные пути, а 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)[source]
-
Выполняет скрипт pyplot и сохраняет изображения в output_dir.
Сохраняет изображения в output_dir с именами файлов, полученными из output_base
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/sphinxext_plot_directive_api.html