diff --git a/cfplot/test/test_examples.py b/cfplot/test/test_examples.py
index c3c5ac5..0b9386c 100644
--- a/cfplot/test/test_examples.py
+++ b/cfplot/test/test_examples.py
@@ -28,8 +28,9 @@
 
 faulthandler.enable()  # to debug seg faults and timeouts
 
-
-DATA_DIR = "cfplot_data"
+# Must unzip data first from _downloads/example-datasets.zip to the source/
+# dir if this isn't already the case locally!
+DATA_DIR = "../../docs/source/example-datasets"
 TEST_REF_DIR = "./reference-example-images"
 TEST_GEN_DIR = "./generated-example-images"
 if not os.path.exists(TEST_GEN_DIR):
diff --git a/docs/gallery_of_examples.html b/docs/gallery_of_examples.html
index 73c61f0..613df0c 100644
--- a/docs/gallery_of_examples.html
+++ b/docs/gallery_of_examples.html
@@ -8,7 +8,7 @@
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
 
-    <title>Gallery of examples &#8212; cf-plot 3.4.0 documentation</title>
+    <title>Examples &#8212; cf-plot 3.4.0 documentation</title>
   
   
   
@@ -29,7 +29,7 @@
 <link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
 
     <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b76e3c8a" />
-    <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=4ae1632d" />
+    <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=fd3f3429" />
     <link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=95c83b7e" />
   
   <!-- Pre-loaded scripts that we'll load fully later -->
@@ -38,7 +38,7 @@
   <script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
 
     <script src="_static/documentation_options.js?v=b0e360d0"></script>
-    <script src="_static/doctools.js?v=9bcbadda"></script>
+    <script src="_static/doctools.js?v=9a2dae69"></script>
     <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/design-tabs.js?v=f930bc37"></script>
     <script>DOCUMENTATION_OPTIONS.pagename = 'gallery_of_examples';</script>
@@ -161,7 +161,7 @@
 
 <li class="nav-item current active">
   <a class="nav-link nav-internal" href="#">
-    Gallery of examples
+    Examples
   </a>
 </li>
 
@@ -329,7 +329,7 @@
 
 <li class="nav-item current active">
   <a class="nav-link nav-internal" href="#">
-    Gallery of examples
+    Examples
   </a>
 </li>
 
@@ -504,7 +504,7 @@
         <i class="fa-solid fa-home"></i>
       </a>
     </li>
-    <li class="breadcrumb-item active" aria-current="page">Gallery of examples</li>
+    <li class="breadcrumb-item active" aria-current="page">Examples</li>
   </ul>
 </nav>
 </div>
@@ -521,8 +521,112 @@
 <div id="searchbox"></div>
                 <article class="bd-article">
                   
-  <section id="gallery-of-examples">
-<span id="examplesgallery"></span><h1>Gallery of examples<a class="headerlink" href="#gallery-of-examples" title="Link to this heading">#</a></h1>
+  <section id="examples">
+<span id="examplesgallery"></span><h1>Examples<a class="headerlink" href="#examples" title="Link to this heading">#</a></h1>
+<section id="listing-of-all-examples">
+<span id="allexamples"></span><h2>Listing of all examples<a class="headerlink" href="#listing-of-all-examples" title="Link to this heading">#</a></h2>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>All example code assumes the following imports have been made,
+where <code class="docutils literal notranslate"><span class="pre">numpy</span></code> is usually not required but it is for some
+of the examples:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">Imports required as setup for the examples, noting that
+cfplot is always aliased to <code class="docutils literal notranslate"><span class="pre">cfp</span></code> by convention</span><a class="headerlink" href="#id1" title="Link to this code">#</a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cfplot</span> <span class="k">as</span> <span class="nn">cfp</span>
+<span class="kn">import</span> <span class="nn">cf</span>
+<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>  <span class="c1"># only required for some examples</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_1.html">Example 1: Basic contour plot in default projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_2.html">Example 2: Basic blockfill plot in default projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_3.html">Example 3: Contour plot with altered map limits and levels</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_4.html">Example 4: North Pole polar stereographic projection contour plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_5.html">Example 5: South Pole polar projection contour plot with bounding latitude</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_6.html">Example 6: Latitude-pressure plot at set longitude</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_7.html">Example 7: Latitude-pressure plot over zonal mean</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_8.html">Example 8: Latitude against log of pressure over longitude zonal mean</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_9.html">Example 9: Longitude-pressure plot over latitude mean</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_10.html">Example 10: Latitude-time Hovmöller plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_11.html">Example 11: Latitude-time subset view Hovmöller plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_12.html">Example 12: Longitude-time Hovmöller plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_13.html">Example 13: Basic vector plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_14.html">Example 14: Vector plot overlaid on a contour map</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_15.html">Example 15: Polar projection vector plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_16a.html">Example 16a: Zonal vector plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_16b.html">Example 16b: Basic stream plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_16c.html">Example 16c: Stream plot in a colour scale</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_17.html">Example 17: Basic stipple plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_18.html">Example 18: Polar stipple plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_19a.html">Example 19a: Multiple plots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_19b.html">Example 19b: Multiple plots with user-specified plot positions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_19c.html">Example 19c: Accomodating more than one colour bar</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_20.html">Example 20: Case where user-defined axis labels are required</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_21a.html">Example 21a: User-defined axes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_21b.html">Example 21b: Plot of rotated pole data</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_22.html">Example 22: Plot of rotated pole data on its native grid</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_23a.html">Example 23a: Rotated pole plot from data which is not CF Compliant</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_23b.html">Example 23b: Overlaying vectors over a rotated pole data plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_24a.html">Example 24a: UGRID blockfill plot with LFRic cubed sphere mesh output</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_24b.html">Example 24b: UGRID plot in the polar stereographic projection view</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_25.html">Example 25: UGRID contour plot with ORCA 2 output</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_26a.html">Example 26a: Contour plot based on discrete feature values</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_26b.html">Example 26b: Contour plot from discrete feature values with labelling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_27.html">Example 27: Basic line plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_28.html">Example 28: Line plot with a legend</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_29.html">Example 29: Time series line plot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_30.html">Example 30: Line plot with two x axes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_31.html">Example 31: UKCP projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_32.html">Example 32: UKCP projection with blockfill</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_33.html">Example 33: OSGB and EuroPP projections</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_34.html">Example 34: Cropping the Lambert Conformal Conic (LCC) projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_35.html">Example 35: Mollweide projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_36.html">Example 36: Mercator projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_37.html">Example 37: Orthographic projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_38.html">Example 38: Robinson projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_39.html">Example 39: Basic track plotting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_39b.html">Example 39b: plotting a single (1D) DSG trajectory</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_40.html">Example 40: Tracks in the polar stereographic projection</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_41.html">Example 41: Feature propagation over Europe</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_42a.html">Example 42a: Tracks with labelled data points</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_42b.html">Example 42b: Tracks displayed in a colour scale</a></li>
+<li class="toctree-l1"><a class="reference internal" href="examples/example_43.html">Example 43: CF-compliant WRF model output data</a></li>
+</ul>
+</div>
+<section id="example-datasets">
+<h3>Example Datasets<a class="headerlink" href="#example-datasets" title="Link to this heading">#</a></h3>
+<p>The examples make use of a small number of sample datasets. These are
+available to view and download from a
+<a class="reference external" href="https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/data">dedicated directory in the codebase repository</a>.
+Alternatively, they may be downloaded together as a pair of zip files</p>
+<blockquote>
+<div><p>(split into two parts to fit within GitHub file</p>
+</div></blockquote>
+<p>size limits, total size ~125 MB) available
+from <a class="reference download internal" download="" href="_downloads/4d33aa3c8539abd0ed550df689ff74fa/example-datasets.z01"><code class="xref download docutils literal notranslate"><span class="pre">here</span> <span class="pre">(part</span> <span class="pre">1</span> <span class="pre">of</span> <span class="pre">2)</span></code></a> and
+<a class="reference download internal" download="" href="_downloads/a1d64e4e03a8a3c2717a96c368a25c03/example-datasets.zip"><code class="xref download docutils literal notranslate"><span class="pre">here</span> <span class="pre">(part</span> <span class="pre">2</span> <span class="pre">of</span> <span class="pre">2)</span></code></a> which can be
+unzipped together to the full dataset directory as follows:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text"><em>Accessing all of the datasets for the cf-plot examples</em></span><a class="headerlink" href="#id2" title="Link to this code">#</a></div>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Download the split zip parts: either use &#39;wget&#39; as below or</span>
+<span class="c1"># download both files from the links above</span>
+wget<span class="w"> </span>https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/_downloads/example-datasets.z01
+wget<span class="w"> </span>https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/_downloads/example-datasets.zip
+
+<span class="c1"># Recombine into a single zip (zip -s0 merges split parts)</span>
+zip<span class="w"> </span>-s0<span class="w"> </span>example-datasets.zip<span class="w"> </span>--out<span class="w"> </span>all-example-datasets.zip
+
+<span class="c1"># Unzip the merged file</span>
+unzip<span class="w"> </span>all-example-datasets.zip
+</pre></div>
+</div>
+</div>
+</section>
+</section>
 <section id="gallery">
 <h2>Gallery<a class="headerlink" href="#gallery" title="Link to this heading">#</a></h2>
 <div class="sd-container-fluid sd-sphinx-override sd-m-0 sd-p-0 docutils">
@@ -665,77 +769,6 @@ <h2>Gallery<a class="headerlink" href="#gallery" title="Link to this heading">#<
 </div>
 </div>
 </section>
-<section id="listing-of-all-examples">
-<span id="allexamples"></span><h2>Listing of all examples<a class="headerlink" href="#listing-of-all-examples" title="Link to this heading">#</a></h2>
-<p>Note: all example code assumes the following imports have been made,
-where <code class="docutils literal notranslate"><span class="pre">numpy</span></code> is usually not required but it may be for some examples:</p>
-<div class="literal-block-wrapper docutils container" id="id1">
-<div class="code-block-caption"><span class="caption-text">Imports required as setup for the examples, noting that
-cfplot is always aliased to <code class="docutils literal notranslate"><span class="pre">cfp</span></code> by convention</span><a class="headerlink" href="#id1" title="Link to this code">#</a></div>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cfplot</span> <span class="k">as</span> <span class="nn">cfp</span>
-<span class="kn">import</span> <span class="nn">cf</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>  <span class="c1"># only required for some examples</span>
-</pre></div>
-</div>
-</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_1.html">Example 1: Basic contour plot in default projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_2.html">Example 2: Basic blockfill plot in default projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_3.html">Example 3: Contour plot with altered map limits and levels</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_4.html">Example 4: North Pole polar stereographic projection contour plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_5.html">Example 5: South Pole polar projection contour plot with bounding latitude</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_6.html">Example 6: Latitude-pressure plot at set longitude</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_7.html">Example 7: Latitude-pressure plot over zonal mean</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_8.html">Example 8: Latitude against log of pressure over longitude zonal mean</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_9.html">Example 9: Longitude-pressure plot over latitude mean</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_10.html">Example 10: Latitude-time Hovmöller plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_11.html">Example 11: Latitude-time subset view Hovmöller plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_12.html">Example 12: Longitude-time Hovmöller plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_13.html">Example 13: Basic vector plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_14.html">Example 14: Vector plot overlaid on a contour map</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_15.html">Example 15: Polar projection vector plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_16a.html">Example 16a: Zonal vector plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_16b.html">Example 16b: Basic stream plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_16c.html">Example 16c: Stream plot in a colour scale</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_17.html">Example 17: Basic stipple plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_18.html">Example 18: Polar stipple plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_19a.html">Example 19a: Multiple plots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_19b.html">Example 19b: Multiple plots with user-specified plot positions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_19c.html">Example 19c: Accomodating more than one colour bar</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_20.html">Example 20: Case where user-defined axis labels are required</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_21a.html">Example 21a: User-defined axes</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_21b.html">Example 21b: Plot of rotated pole data</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_22.html">Example 22: Plot of rotated pole data on its native grid</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_23a.html">Example 23a: Rotated pole plot from data which is not CF Compliant</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_23b.html">Example 23b: Overlaying vectors over a rotated pole data plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_24a.html">Example 24a: UGRID blockfill plot with LFRic cubed sphere mesh output</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_24b.html">Example 24b: UGRID plot in the polar stereographic projection view</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_25.html">Example 25: UGRID contour plot with ORCA 2 output</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_26a.html">Example 26a: Contour plot based on discrete feature values</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_26b.html">Example 26b: Contour plot from discrete feature values with labelling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_27.html">Example 27: Basic line plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_28.html">Example 28: Line plot with a legend</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_29.html">Example 29: Time series line plot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_30.html">Example 30: Line plot with two x axes</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_31.html">Example 31: UKCP projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_32.html">Example 32: UKCP projection with blockfill</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_33.html">Example 33: OSGB and EuroPP projections</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_34.html">Example 34: Cropping the Lambert Conformal Conic (LCC) projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_35.html">Example 35: Mollweide projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_36.html">Example 36: Mercator projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_37.html">Example 37: Orthographic projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_38.html">Example 38: Robinson projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_39.html">Example 39: Basic track plotting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_39b.html">Example 39b: plotting a single (1D) DSG trajectory</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_40.html">Example 40: Tracks in the polar stereographic projection</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_41.html">Example 41: Feature propagation over Europe</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_42a.html">Example 42a: Tracks with labelled data points</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_42b.html">Example 42b: Tracks displayed in a colour scale</a></li>
-<li class="toctree-l1"><a class="reference internal" href="examples/example_43.html">Example 43: CF-compliant WRF model output data</a></li>
-</ul>
-</div>
-</section>
 </section>
 
 
@@ -784,8 +817,11 @@ <h2>Gallery<a class="headerlink" href="#gallery" title="Link to this heading">#<
   </div>
   <nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
     <ul class="visible nav section-nav flex-column">
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#listing-of-all-examples">Listing of all examples</a><ul class="nav section-nav flex-column">
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#example-datasets">Example Datasets</a></li>
+</ul>
+</li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#gallery">Gallery</a></li>
-<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#listing-of-all-examples">Listing of all examples</a></li>
 </ul>
   </nav></div>
 
@@ -832,7 +868,7 @@ <h2>Gallery<a class="headerlink" href="#gallery" title="Link to this heading">#<
         <div class="footer-item">
 
   <p class="sphinx-version">
-    Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.1.3.
+    Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.3.7.
     <br/>
   </p>
 </div>
diff --git a/docs/source/_downloads/example-datasets.z01 b/docs/source/_downloads/example-datasets.z01
new file mode 100644
index 0000000..a074b0d
Binary files /dev/null and b/docs/source/_downloads/example-datasets.z01 differ
diff --git a/docs/source/_downloads/example-datasets.zip b/docs/source/_downloads/example-datasets.zip
new file mode 100644
index 0000000..2d91a3a
Binary files /dev/null and b/docs/source/_downloads/example-datasets.zip differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index a639752..f42ae18 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -131,7 +131,7 @@
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ["_static"]
+html_static_path = ["_static", "_downloads"]
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
diff --git a/docs/source/example-datasets/20160601-05T0000Z_INCOMPASS_km4p4_uv_RH_500.nc b/docs/source/example-datasets/20160601-05T0000Z_INCOMPASS_km4p4_uv_RH_500.nc
new file mode 100644
index 0000000..354fe86
Binary files /dev/null and b/docs/source/example-datasets/20160601-05T0000Z_INCOMPASS_km4p4_uv_RH_500.nc differ
diff --git a/docs/source/data/Geostropic_Adjustment.nc b/docs/source/example-datasets/Geostropic_Adjustment.nc
similarity index 100%
rename from docs/source/data/Geostropic_Adjustment.nc
rename to docs/source/example-datasets/Geostropic_Adjustment.nc
diff --git a/docs/source/example-datasets/curvi_salinity.nc b/docs/source/example-datasets/curvi_salinity.nc
new file mode 100644
index 0000000..ee3ad51
Binary files /dev/null and b/docs/source/example-datasets/curvi_salinity.nc differ
diff --git a/docs/source/example-datasets/dsg_trajectory.nc b/docs/source/example-datasets/dsg_trajectory.nc
new file mode 100644
index 0000000..4f1a838
Binary files /dev/null and b/docs/source/example-datasets/dsg_trajectory.nc differ
diff --git a/docs/source/example-datasets/ff_trs_pos.nc b/docs/source/example-datasets/ff_trs_pos.nc
new file mode 100644
index 0000000..0958dcc
Binary files /dev/null and b/docs/source/example-datasets/ff_trs_pos.nc differ
diff --git a/docs/source/data/ggap.nc b/docs/source/example-datasets/ggap.nc
similarity index 100%
rename from docs/source/data/ggap.nc
rename to docs/source/example-datasets/ggap.nc
diff --git a/docs/source/example-datasets/lfric_initial.nc b/docs/source/example-datasets/lfric_initial.nc
new file mode 100644
index 0000000..8dcbbb8
Binary files /dev/null and b/docs/source/example-datasets/lfric_initial.nc differ
diff --git a/docs/source/data/orca2.nc b/docs/source/example-datasets/orca2.nc
similarity index 100%
rename from docs/source/data/orca2.nc
rename to docs/source/example-datasets/orca2.nc
diff --git a/docs/source/data/rgp.nc b/docs/source/example-datasets/rgp.nc
similarity index 100%
rename from docs/source/data/rgp.nc
rename to docs/source/example-datasets/rgp.nc
diff --git a/docs/source/data/synop_data.txt b/docs/source/example-datasets/synop_data.txt
similarity index 100%
rename from docs/source/data/synop_data.txt
rename to docs/source/example-datasets/synop_data.txt
diff --git a/docs/source/data/tas_A1.nc b/docs/source/example-datasets/tas_A1.nc
similarity index 100%
rename from docs/source/data/tas_A1.nc
rename to docs/source/example-datasets/tas_A1.nc
diff --git a/docs/source/example-datasets/ukcp_rcm_test.nc b/docs/source/example-datasets/ukcp_rcm_test.nc
new file mode 100644
index 0000000..d0ff70b
Binary files /dev/null and b/docs/source/example-datasets/ukcp_rcm_test.nc differ
diff --git a/docs/source/example-datasets/vaAMIPlcd_DJF.nc b/docs/source/example-datasets/vaAMIPlcd_DJF.nc
new file mode 100644
index 0000000..e3ac854
Binary files /dev/null and b/docs/source/example-datasets/vaAMIPlcd_DJF.nc differ
diff --git a/docs/source/example-datasets/wapAMIPlcd_DJF.nc b/docs/source/example-datasets/wapAMIPlcd_DJF.nc
new file mode 100644
index 0000000..9f64864
Binary files /dev/null and b/docs/source/example-datasets/wapAMIPlcd_DJF.nc differ
diff --git a/docs/source/gallery_of_examples.rst b/docs/source/gallery_of_examples.rst
index edc9cc9..4d49cf9 100644
--- a/docs/source/gallery_of_examples.rst
+++ b/docs/source/gallery_of_examples.rst
@@ -1,7 +1,111 @@
 .. _examplesgallery:
 
-Gallery of examples
-===================
+Examples
+========
+
+.. _allexamples:
+
+Listing of all examples
+-----------------------
+
+.. note::
+   All example code assumes the following imports have been made,
+   where ``numpy`` is usually not required but it is for some
+   of the examples:
+
+   .. code-block:: python
+      :caption: Imports required as setup for the examples, noting that
+                cfplot is always aliased to ``cfp`` by convention
+
+      import cfplot as cfp
+      import cf
+      import numpy as np  # only required for some examples
+
+
+.. toctree::
+   :maxdepth: 2
+
+   examples/example_1.rst
+   examples/example_2.rst
+   examples/example_3.rst
+   examples/example_4.rst
+   examples/example_5.rst
+   examples/example_6.rst
+   examples/example_7.rst
+   examples/example_8.rst
+   examples/example_9.rst
+   examples/example_10.rst
+   examples/example_11.rst
+   examples/example_12.rst
+   examples/example_13.rst
+   examples/example_14.rst
+   examples/example_15.rst
+   examples/example_16a.rst
+   examples/example_16b.rst
+   examples/example_16c.rst
+   examples/example_17.rst
+   examples/example_18.rst
+   examples/example_19a.rst
+   examples/example_19b.rst
+   examples/example_19c.rst
+   examples/example_20.rst
+   examples/example_21a.rst
+   examples/example_21b.rst
+   examples/example_22.rst
+   examples/example_23a.rst
+   examples/example_23b.rst
+   examples/example_24a.rst
+   examples/example_24b.rst
+   examples/example_25.rst
+   examples/example_26a.rst
+   examples/example_26b.rst
+   examples/example_27.rst
+   examples/example_28.rst
+   examples/example_29.rst
+   examples/example_30.rst
+   examples/example_31.rst
+   examples/example_32.rst
+   examples/example_33.rst
+   examples/example_34.rst
+   examples/example_35.rst
+   examples/example_36.rst
+   examples/example_37.rst
+   examples/example_38.rst
+   examples/example_39.rst
+   examples/example_39b.rst
+   examples/example_40.rst
+   examples/example_41.rst
+   examples/example_42a.rst
+   examples/example_42b.rst
+   examples/example_43.rst
+
+
+Example Datasets
+~~~~~~~~~~~~~~~~
+
+The examples make use of a small number of sample datasets. These are
+available to view and download from a
+`dedicated directory in the codebase repository <https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/data>`_.
+Alternatively, they may be downloaded together as a pair of zip files
+ (split into two parts to fit within GitHub file
+size limits, total size ~125 MB) available
+from :download:`here (part 1 of 2) <_downloads/example-datasets.z01>` and
+:download:`here (part 2 of 2) <_downloads/example-datasets.zip>` which can be
+unzipped together to the full dataset directory as follows:
+
+.. code-block:: bash
+   :caption: *Accessing all of the datasets for the cf-plot examples*
+
+   # Download the split zip parts: either use 'wget' as below or
+   # download both files from the links above
+   wget https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/_downloads/example-datasets.z01
+   wget https://github.com/NCAS-CMS/cf-plot/tree/main/docs/source/_downloads/example-datasets.zip
+
+   # Recombine into a single zip (zip -s0 merges split parts)
+   zip -s0 example-datasets.zip --out all-example-datasets.zip
+
+   # Unzip the merged file
+   unzip all-example-datasets.zip
 
 
 Gallery
@@ -86,79 +190,3 @@ Gallery
       :img-top: /../../cfplot/test/reference-example-images/ref_fig_21a.png
       :link: user_defined.html#example-21a-user-defined-axes
       :text-align: center
-
-
-.. _allexamples:
-
-Listing of all examples
------------------------
-
-Note: all example code assumes the following imports have been made,
-where ``numpy`` is usually not required but it may be for some examples:
-
-.. code-block:: python
-   :caption: Imports required as setup for the examples, noting that
-             cfplot is always aliased to ``cfp`` by convention
-
-   import cfplot as cfp
-   import cf
-   import numpy as np  # only required for some examples
-
-
-.. toctree::
-   :maxdepth: 2
-
-   examples/example_1.rst
-   examples/example_2.rst
-   examples/example_3.rst
-   examples/example_4.rst
-   examples/example_5.rst
-   examples/example_6.rst
-   examples/example_7.rst
-   examples/example_8.rst
-   examples/example_9.rst
-   examples/example_10.rst
-   examples/example_11.rst
-   examples/example_12.rst
-   examples/example_13.rst
-   examples/example_14.rst
-   examples/example_15.rst
-   examples/example_16a.rst
-   examples/example_16b.rst
-   examples/example_16c.rst
-   examples/example_17.rst
-   examples/example_18.rst
-   examples/example_19a.rst
-   examples/example_19b.rst
-   examples/example_19c.rst
-   examples/example_20.rst
-   examples/example_21a.rst
-   examples/example_21b.rst
-   examples/example_22.rst
-   examples/example_23a.rst
-   examples/example_23b.rst
-   examples/example_24a.rst
-   examples/example_24b.rst
-   examples/example_25.rst
-   examples/example_26a.rst
-   examples/example_26b.rst
-   examples/example_27.rst
-   examples/example_28.rst
-   examples/example_29.rst
-   examples/example_30.rst
-   examples/example_31.rst
-   examples/example_32.rst
-   examples/example_33.rst
-   examples/example_34.rst
-   examples/example_35.rst
-   examples/example_36.rst
-   examples/example_37.rst
-   examples/example_38.rst
-   examples/example_39.rst
-   examples/example_39b.rst
-   examples/example_40.rst
-   examples/example_41.rst
-   examples/example_42a.rst
-   examples/example_42b.rst
-   examples/example_43.rst
-
