matplotlib.sphinxext.figmpl_directive#

Add a figure-mpl directive that is a responsive version of figure.

This implementation is very similar to .. figure::, except it also allows a srcset= argument to be passed to the image tag, hence allowing responsive resolution images.

There is no particular reason this could not be used standalone, but is meant to be used with matplotlib.sphinxext.plot_directive.

Note that the directory organization is a bit different than .. figure::. See the FigureMpl documentation below.

class matplotlib.sphinxext.figmpl_directive.FigureMpl(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine)[source]#

Implements a directive to allow an optional hidpi image.

Meant to be used with the plot_srcset configuration option in conf.py, and gets set in the TEMPLATE of plot_directive.py

e.g.:

.. figure-mpl:: plot_directive/some_plots-1.png
    :alt: bar
    :srcset: plot_directive/some_plots-1.png,
             plot_directive/some_plots-1.2x.png 2.00x
    :class: plot-directive

The resulting html (at some_plots.html) is:

<img src="sphx_glr_bar_001_hidpi.png"
    srcset="_images/some_plot-1.png,
            _images/some_plots-1.2x.png 2.00x",
    alt="bar"
    class="plot_directive" />

Note that the handling of subdirectories is different than that used by the sphinx figure directive:

.. figure-mpl:: plot_directive/nestedpage/index-1.png
    :alt: bar
    :srcset: plot_directive/nestedpage/index-1.png
             plot_directive/nestedpage/index-1.2x.png 2.00x
    :class: plot_directive

The resulting html (at nestedpage/index.html):

<img src="../_images/nestedpage-index-1.png"
    srcset="../_images/nestedpage-index-1.png,
            ../_images/_images/nestedpage-index-1.2x.png 2.00x",
    alt="bar"
    class="sphx-glr-single-img" />

where the subdirectory is included in the image name for uniqueness.

final_argument_whitespace = False#

May the final argument contain whitespace?

has_content = False#

May the directive have content?

option_spec = {'align': <function Image.align>, 'alt': <function unchanged>, 'caption': <function unchanged>, 'class': <function class_option>, 'height': <function length_or_unitless>, 'scale': <function nonnegative_int>, 'srcset': <function unchanged>, 'width': <function length_or_percentage_or_unitless>}#

Mapping of option names to validator functions.

optional_arguments = 2#

Number of optional arguments after the required arguments.

required_arguments = 1#

Number of required directive arguments.

class matplotlib.sphinxext.figmpl_directive.figmplnode(rawsource='', *children, **attributes)[source]#