`.
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. image:: /tutorials/images/thumb/sphx_glr_coding_shortcuts_thumb.png
+ :alt: Coding shortcuts
+
+ :ref:`sphx_glr_tutorials_coding_shortcuts.py`
+
+.. raw:: html
+
+
Coding shortcuts
+
+
+
.. raw:: html
@@ -92,6 +109,7 @@ a :ref:`FAQ ` in our :ref:`user guide `.
:hidden:
/tutorials/pyplot
+ /tutorials/coding_shortcuts
/tutorials/images
/tutorials/lifecycle
/tutorials/artists
diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py
index a87f00201124..a4eb80ad1b34 100644
--- a/lib/matplotlib/animation.py
+++ b/lib/matplotlib/animation.py
@@ -951,9 +951,21 @@ def save(self, filename, writer=None, fps=None, dpi=None, codec=None,
filename : str
The output filename, e.g., :file:`mymovie.mp4`.
- writer : `MovieWriter` or str, default: :rc:`animation.writer`
- A `MovieWriter` instance to use or a key that identifies a
- class to use, such as 'ffmpeg'.
+ writer : `AbstractMovieWriter` subclass or str, default: :rc:`animation.writer`
+ The writer used to grab the frames and create the movie file.
+ This can be an instance of an `AbstractMovieWriter` subclass or a
+ string. The builtin writers are
+
+ ================== ==============================
+ str class
+ ================== ==============================
+ 'ffmpeg' `.FFMpegWriter`
+ 'ffmpeg_file' `.FFMpegFileWriter`
+ 'imagemagick' `.ImageMagickWriter`
+ 'imagemagick_file' `.ImageMagickFileWriter`
+ 'pillow' `.PillowWriter`
+ 'html' `.HTMLWriter`
+ ================== ==============================
fps : int, optional
Movie frame rate (per second). If not set, the frame rate from the
diff --git a/lib/matplotlib/backends/backend_qt.py b/lib/matplotlib/backends/backend_qt.py
index d0aded5fff63..dd642ba838af 100644
--- a/lib/matplotlib/backends/backend_qt.py
+++ b/lib/matplotlib/backends/backend_qt.py
@@ -55,7 +55,7 @@
("Key_F8", "f8"),
("Key_F9", "f9"),
("Key_F10", "f10"),
- ("Key_F10", "f11"),
+ ("Key_F11", "f11"),
("Key_F12", "f12"),
("Key_Super_L", "super"),
("Key_Super_R", "super"),
diff --git a/lib/matplotlib/tests/test_doc.py b/lib/matplotlib/tests/test_doc.py
index 3e28fd1b8eb7..f3d6d6e3fd5d 100644
--- a/lib/matplotlib/tests/test_doc.py
+++ b/lib/matplotlib/tests/test_doc.py
@@ -7,9 +7,9 @@ def test_sphinx_gallery_example_header():
This test monitors that the version we have copied is still the same as
the EXAMPLE_HEADER in sphinx-gallery. If sphinx-gallery changes its
EXAMPLE_HEADER, this test will start to fail. In that case, please update
- the monkey-patching of EXAMPLE_HEADER in conf.py.
+ the monkey-patching of EXAMPLE_HEADER in sphinxext/util.py.
"""
- pytest.importorskip('sphinx_gallery', minversion='0.16.0')
+ pytest.importorskip('sphinx_gallery', minversion='0.20.0')
from sphinx_gallery import gen_rst
EXAMPLE_HEADER = """
@@ -25,7 +25,7 @@ def test_sphinx_gallery_example_header():
:class: sphx-glr-download-link-note
:ref:`Go to the end `
- to download the full example code.{2}
+ to download the full example code{2}
.. rst-class:: sphx-glr-example-title
diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py
index 07b67a3e04ee..2ee72c6a89fa 100644
--- a/tools/cache_zenodo_svg.py
+++ b/tools/cache_zenodo_svg.py
@@ -63,6 +63,7 @@ def _get_xdg_cache_dir():
if __name__ == "__main__":
data = {
+ "v3.10.8": "17595503",
"v3.10.7": "17298696",
"v3.10.6": "16999430",
"v3.10.5": "16644850",