Repository: SciTools/cartopy

Issue:
Axes extent behaviour at Cartopy 0.19
### Description
<!-- Please provide a general introduction to the issue/proposal. -->
If I plot a filled contour plot overlayed by unfilled contours _on a reduced set of levels_ the map is cropped around the non-filled contours.  This seems to be a change between Cartopy 0.18 and 0.19.  Is it intentional?  I can’t see anything obvious in the whatsnew to explain it.

<!--
If you are reporting a bug, attach the *entire* traceback from Python.

If you are proposing an enhancement/new feature, provide links to related articles, reference examples, etc.

If you are asking a question, please ask on StackOverflow and use the cartopy tag. All cartopy
questions on StackOverflow can be found at https://stackoverflow.com/questions/tagged/cartopy
-->

#### Code to reproduce

Adapted from some gallery examples…

```python
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import numpy as np


def sample_data(shape=(73, 145)):
    """Return ``lons``, ``lats`` and ``data`` of some fake data."""
    nlats, nlons = shape
    lats = np.linspace(-np.pi / 2, np.pi / 2, nlats)
    lons = np.linspace(0, 2 * np.pi, nlons)
    lons_2d, lats_2d = np.meshgrid(lons, lats)
    wave = 0.75 * (np.sin(2 * lats_2d) ** 8) * np.cos(4 * lons_2d)
    mean = 0.5 * np.cos(2 * lats_2d) * ((np.sin(2 * lats_2d)) ** 2 + 2)

    lats = np.rad2deg(lats)
    lons = np.rad2deg(lons)
    data = wave + mean

    return lons, lats, data

ax = plt.subplot(111, projection=ccrs.PlateCarree())

lons, lats, data = sample_data()

filled_c = ax.contourf(lons, lats, data, transform=ccrs.PlateCarree())

ax.contour(lons, lats, data,
           levels=filled_c.levels[1:-1],    # Note subset of levels
           colors=['black'],
           transform=ccrs.PlateCarree())

ax.coastlines()

plt.show()
```
With Cartopy 0.18, we get the whole map:

![cartopy_crop_old](https://user-images.githubusercontent.com/10599679/117545016-d63f2480-b01b-11eb-9484-f68c15620df8.png)

With Cartopy 0.19.0.post1 the map gets cropped around the black contours:

![cartopy_crop_new](https://user-images.githubusercontent.com/10599679/117545049-11d9ee80-b01c-11eb-8e2a-6c7f21dc7131.png)

### Operating system

RHEL7.9

### Cartopy version
0.19.0.post1 (comparing with 0.18)

### Conda environments

The python3.8 environments were generated with conda lock files, and the difference between the lock files is show [here](https://github.com/SciTools/iris/pull/4125/files#diff-b07923dfaa4674dd96b18cf94c64de76a79522a79cb7911ba317ea901e0485d7).

<details>
<summary>Conda list old environment with Cartopy 0.18</summary>

```
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
alabaster                 0.7.12                     py_0    conda-forge
alsa-lib                  1.2.3                h516909a_0    conda-forge
antlr-python-runtime      4.7.2           py38h578d9bd_1002    conda-forge
appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
asv                       0.4.2            py38h709712a_2    conda-forge
atk-1.0                   2.36.0               h3371d22_4    conda-forge
babel                     2.9.0              pyhd3deb0d_0    conda-forge
black                     20.8b1                     py_1    conda-forge
bokeh                     2.1.1            py38h32f6830_0    conda-forge
brotlipy                  0.7.0           py38h497a2fe_1001    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.17.1               h7f98852_1    conda-forge
ca-certificates           2020.12.5            ha878542_0    conda-forge
cairo                     1.16.0            h6cf1ce9_1008    conda-forge
cartopy                   0.18.0          py38hab71064_13    conda-forge
certifi                   2020.12.5        py38h578d9bd_1    conda-forge
cf-units                  2.1.4            py38hab2c0dc_2    conda-forge
cffi                      1.14.5           py38ha65f79e_0    conda-forge
cfgv                      3.2.0                      py_0    conda-forge
cftime                    1.2.1            py38hab2c0dc_1    conda-forge
chardet                   4.0.0            py38h578d9bd_1    conda-forge
click                     7.1.2              pyh9f0ad1d_0    conda-forge
cloudpickle               1.6.0                      py_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
cryptography              3.4.7            py38ha5dfef3_0    conda-forge
curl                      7.76.1               h979ede3_1    conda-forge
cycler                    0.10.0                     py_2    conda-forge
cytoolz                   0.11.0           py38h497a2fe_3    conda-forge
dask                      2021.4.1           pyhd8ed1ab_0    conda-forge
dask-core                 2021.4.1           pyhd8ed1ab_0    conda-forge
dataclasses               0.8                pyhc8e2a94_1    conda-forge
dbus                      1.13.6               h48d8840_2    conda-forge
distlib                   0.3.1              pyh9f0ad1d_0    conda-forge
distributed               2021.4.1         py38h578d9bd_0    conda-forge
docutils                  0.16             py38h578d9bd_3    conda-forge
editdistance-s            1.0.0            py38h1fd1430_1    conda-forge
esmf                      8.1.1           mpi_mpich_h3dcaa78_100    conda-forge
esmpy                     8.1.1           mpi_mpich_py38h7f78e9f_100    conda-forge
expat                     2.3.0                h9c3ff4c_0    conda-forge
filelock                  3.0.12             pyh9f0ad1d_0    conda-forge
flake8                    3.9.1              pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      2.001                hab24e00_0    conda-forge
font-ttf-source-code-pro  2.030                hab24e00_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.13.1            hba837de_1005    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
fsspec                    2021.4.0           pyhd8ed1ab_0    conda-forge
gdk-pixbuf                2.42.6               h04a7f16_0    conda-forge
geos                      3.9.1                h9c3ff4c_2    conda-forge
gettext                   0.19.8.1          h0b5b191_1005    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
glib                      2.68.1               h9c3ff4c_0    conda-forge
glib-tools                2.68.1               h9c3ff4c_0    conda-forge
graphite2                 1.3.13            h58526e2_1001    conda-forge
graphviz                  2.47.1               hebd9034_0    conda-forge
gst-plugins-base          1.18.4               hf529b03_2    conda-forge
gstreamer                 1.18.4               h76c114f_2    conda-forge
gtk2                      2.24.33              hab0c2f8_0    conda-forge
gts                       0.7.6                h64030ff_2    conda-forge
harfbuzz                  2.8.0                h83ec7ef_1    conda-forge
hdf4                      4.2.13            h10796ff_1005    conda-forge
hdf5                      1.10.6          mpi_mpich_h996c276_1014    conda-forge
heapdict                  1.0.1                      py_0    conda-forge
icu                       68.1                 h58526e2_0    conda-forge
identify                  2.2.4              pyhd8ed1ab_0    conda-forge
idna                      2.10               pyh9f0ad1d_0    conda-forge
imagehash                 4.2.0              pyhd8ed1ab_0    conda-forge
imagesize                 1.2.0                      py_0    conda-forge
importlib-metadata        4.0.1            py38h578d9bd_0    conda-forge
iris-sample-data          2.3.0              pyh9f0ad1d_0    conda-forge
jinja2                    2.11.3             pyh44b312d_0    conda-forge
jpeg                      9d                   h36c2ea0_0    conda-forge
kiwisolver                1.3.1            py38h1fd1430_1    conda-forge
krb5                      1.17.2               h926e7f8_0    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.35.1               hea4e1c9_2    conda-forge
libblas                   3.9.0                8_openblas    conda-forge
libcblas                  3.9.0                8_openblas    conda-forge
libclang                  11.1.0          default_ha53f305_0    conda-forge
libcurl                   7.76.1               hc4aaa36_1    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               hcdb4288_3    conda-forge
libffi                    3.3                  h58526e2_2    conda-forge
libgcc-ng                 9.3.0               h2828fa1_19    conda-forge
libgd                     2.3.2                h78a0170_0    conda-forge
libgfortran-ng            9.3.0               hff62375_19    conda-forge
libgfortran5              9.3.0               hff62375_19    conda-forge
libglib                   2.68.1               h3e27bee_0    conda-forge
libgomp                   9.3.0               h2828fa1_19    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0                8_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_2    conda-forge
libmo_unpack              3.1.2             hf484d3e_1001    conda-forge
libnetcdf                 4.8.0           mpi_mpich_hf07302c_1    conda-forge
libnghttp2                1.43.0               h812cca2_0    conda-forge
libogg                    1.3.4                h7f98852_1    conda-forge
libopenblas               0.3.12          pthreads_h4812303_1    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libpq                     13.2                 hfd2b0eb_2    conda-forge
librsvg                   2.50.3               hfa39831_1    conda-forge
libssh2                   1.9.0                ha56f1ee_6    conda-forge
libstdcxx-ng              9.3.0               h6de172a_19    conda-forge
libtiff                   4.2.0                hdc55705_1    conda-forge
libtool                   2.4.6             h58526e2_1007    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libwebp                   1.2.0                h3452ae3_0    conda-forge
libwebp-base              1.2.0                h7f98852_2    conda-forge
libxcb                    1.13              h7f98852_1003    conda-forge
libxkbcommon              1.0.3                he3ba5ed_0    conda-forge
libxml2                   2.9.10               h72842e0_4    conda-forge
libzip                    1.7.3                h4de3113_0    conda-forge
locket                    0.2.0                      py_2    conda-forge
lz4-c                     1.9.3                h9c3ff4c_0    conda-forge
markupsafe                1.1.1            py38h497a2fe_3    conda-forge
matplotlib                3.4.1            py38h578d9bd_0    conda-forge
matplotlib-base           3.4.1            py38hcc49a3a_0    conda-forge
mccabe                    0.6.1                      py_1    conda-forge
mo_pack                   0.2.0           py38h5c078b8_1005    conda-forge
mpi                       1.0                       mpich    conda-forge
mpi4py                    3.0.3            py38he865349_6    conda-forge
mpich                     3.4.1              h846660c_104    conda-forge
msgpack-python            1.0.2            py38h1fd1430_1    conda-forge
mypy_extensions           0.4.3            py38h578d9bd_3    conda-forge
mysql-common              8.0.23               ha770c72_1    conda-forge
mysql-libs                8.0.23               h935591d_1    conda-forge
nc-time-axis              1.2.0                      py_1    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
netcdf-fortran            4.5.3           mpi_mpich_h196b126_4    conda-forge
netcdf4                   1.5.6           nompi_py38h5e9db54_103    conda-forge
nodeenv                   1.6.0              pyhd8ed1ab_0    conda-forge
nose                      1.3.7                   py_1006    conda-forge
nspr                      4.30                 h9c3ff4c_0    conda-forge
nss                       3.64                 hb5efdd6_0    conda-forge
numpy                     1.20.2           py38h9894fe3_0    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openssl                   1.1.1k               h7f98852_0    conda-forge
packaging                 20.9               pyh44b312d_0    conda-forge
pandas                    1.2.4            py38h1abd341_0    conda-forge
pango                     1.42.4               h69149e4_5    conda-forge
partd                     1.2.0              pyhd8ed1ab_0    conda-forge
pathspec                  0.8.1              pyhd3deb0d_0    conda-forge
pcre                      8.44                 he1b5a44_0    conda-forge
pillow                    6.2.2            py38h9776b28_0    conda-forge
pip                       21.1               pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pockets                   0.9.1                      py_0    conda-forge
pre-commit                2.12.1           py38h578d9bd_0    conda-forge
proj                      7.2.0                h277dcde_2    conda-forge
psutil                    5.8.0            py38h497a2fe_1    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
pycodestyle               2.7.0              pyhd8ed1ab_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pyflakes                  2.3.1              pyhd8ed1ab_0    conda-forge
pygments                  2.8.1              pyhd8ed1ab_0    conda-forge
pyke                      1.1.1           pyhd8ed1ab_1004    conda-forge
pyopenssl                 20.0.1             pyhd8ed1ab_0    conda-forge
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
pyqt                      5.12.3           py38h578d9bd_7    conda-forge
pyqt-impl                 5.12.3           py38h7400c14_7    conda-forge
pyqt5-sip                 4.19.18          py38h709712a_7    conda-forge
pyqtchart                 5.12             py38h7400c14_7    conda-forge
pyqtwebengine             5.12.1           py38h7400c14_7    conda-forge
pyshp                     2.1.3              pyh44b312d_0    conda-forge
pysocks                   1.7.1            py38h578d9bd_3    conda-forge
python                    3.8.8           hffdb5ce_0_cpython    conda-forge
python-dateutil           2.8.1                      py_0    conda-forge
python-stratify           0.1.1           py38h5c078b8_1003    conda-forge
python-xxhash             2.0.2            py38h497a2fe_0    conda-forge
python_abi                3.8                      1_cp38    conda-forge
pytz                      2021.1             pyhd8ed1ab_0    conda-forge
pyugrid                   0.3.1                      py_2    conda-forge
pywavelets                1.1.1            py38h5c078b8_3    conda-forge
pyyaml                    5.4.1            py38h497a2fe_0    conda-forge
qt                        5.12.9               hda022c4_4    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
regex                     2021.4.4         py38h497a2fe_0    conda-forge
requests                  2.25.1             pyhd3deb0d_0    conda-forge
scipy                     1.6.3            py38h7b17777_0    conda-forge
setuptools                49.6.0           py38h578d9bd_3    conda-forge
shapely                   1.7.1            py38h4fc1155_4    conda-forge
six                       1.15.0             pyh9f0ad1d_0    conda-forge
snowballstemmer           2.1.0              pyhd8ed1ab_0    conda-forge
sortedcontainers          2.3.0              pyhd8ed1ab_0    conda-forge
sphinx                    3.5.4              pyh44b312d_0    conda-forge
sphinx-copybutton         0.3.1              pyhd8ed1ab_0    conda-forge
sphinx-gallery            0.9.0              pyhd8ed1ab_0    conda-forge
sphinx-panels             0.5.2              pyhd3deb0d_0    conda-forge
sphinx_rtd_theme          0.5.2              pyhd8ed1ab_1    conda-forge
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    1.0.3                      py_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-napoleon    0.7                        py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.4                      py_0    conda-forge
sqlite                    3.35.5               h74cdb3f_0    conda-forge
tblib                     1.7.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.10               h21135ba_1    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
toolz                     0.11.1                     py_0    conda-forge
tornado                   6.1              py38h497a2fe_1    conda-forge
typed-ast                 1.4.3            py38h497a2fe_0    conda-forge
typing_extensions         3.7.4.3                    py_0    conda-forge
udunits2                  2.2.27.27            h975c496_1    conda-forge
urllib3                   1.26.4             pyhd8ed1ab_0    conda-forge
virtualenv                20.4.4           py38h578d9bd_0    conda-forge
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.0                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xxhash                    0.8.0                h7f98852_3    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
yaml                      0.2.5                h516909a_0    conda-forge
zict                      2.0.0                      py_0    conda-forge
zipp                      3.4.1              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h516909a_1010    conda-forge
zstd                      1.4.9                ha95c52a_0    conda-forge
```
</details>

<details>
<summary>Conda list new environment with Cartopy 0.19</summary>

```
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
alabaster                 0.7.12                     py_0    conda-forge
alsa-lib                  1.2.3                h516909a_0    conda-forge
antlr-python-runtime      4.7.2           py38h578d9bd_1002    conda-forge
appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
asv                       0.4.2            py38h709712a_2    conda-forge
atk-1.0                   2.36.0               h3371d22_4    conda-forge
babel                     2.9.1              pyh44b312d_0    conda-forge
black                     20.8b1                     py_1    conda-forge
bokeh                     2.1.1            py38h32f6830_0    conda-forge
brotlipy                  0.7.0           py38h497a2fe_1001    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.17.1               h7f98852_1    conda-forge
ca-certificates           2020.12.5            ha878542_0    conda-forge
cairo                     1.16.0            h6cf1ce9_1008    conda-forge
cartopy                   0.19.0.post1     py38hc9c980b_0    conda-forge
certifi                   2020.12.5        py38h578d9bd_1    conda-forge
cf-units                  2.1.4            py38hab2c0dc_2    conda-forge
cffi                      1.14.5           py38ha65f79e_0    conda-forge
cfgv                      3.2.0                      py_0    conda-forge
cftime                    1.2.1            py38hab2c0dc_1    conda-forge
chardet                   4.0.0            py38h578d9bd_1    conda-forge
click                     7.1.2              pyh9f0ad1d_0    conda-forge
cloudpickle               1.6.0                      py_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
cryptography              3.4.7            py38ha5dfef3_0    conda-forge
curl                      7.76.1               h979ede3_1    conda-forge
cycler                    0.10.0                     py_2    conda-forge
cytoolz                   0.11.0           py38h497a2fe_3    conda-forge
dask                      2021.4.1           pyhd8ed1ab_0    conda-forge
dask-core                 2021.4.1           pyhd8ed1ab_0    conda-forge
dataclasses               0.8                pyhc8e2a94_1    conda-forge
dbus                      1.13.6               h48d8840_2    conda-forge
distlib                   0.3.1              pyh9f0ad1d_0    conda-forge
distributed               2021.4.1         py38h578d9bd_0    conda-forge
docutils                  0.16             py38h578d9bd_3    conda-forge
editdistance-s            1.0.0            py38h1fd1430_1    conda-forge
esmf                      8.1.1           mpi_mpich_h3dcaa78_100    conda-forge
esmpy                     8.1.1           mpi_mpich_py38h7f78e9f_100    conda-forge
expat                     2.3.0                h9c3ff4c_0    conda-forge
filelock                  3.0.12             pyh9f0ad1d_0    conda-forge
flake8                    3.9.1              pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      2.001                hab24e00_0    conda-forge
font-ttf-source-code-pro  2.030                hab24e00_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.13.1            hba837de_1005    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
fsspec                    2021.4.0           pyhd8ed1ab_0    conda-forge
gdk-pixbuf                2.42.6               h04a7f16_0    conda-forge
geos                      3.9.1                h9c3ff4c_2    conda-forge
gettext                   0.19.8.1          h0b5b191_1005    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
glib                      2.68.1               h9c3ff4c_0    conda-forge
glib-tools                2.68.1               h9c3ff4c_0    conda-forge
graphite2                 1.3.13            h58526e2_1001    conda-forge
graphviz                  2.47.1               hebd9034_0    conda-forge
gst-plugins-base          1.18.4               hf529b03_2    conda-forge
gstreamer                 1.18.4               h76c114f_2    conda-forge
gtk2                      2.24.33              hab0c2f8_0    conda-forge
gts                       0.7.6                h64030ff_2    conda-forge
harfbuzz                  2.8.1                h83ec7ef_0    conda-forge
hdf4                      4.2.13            h10796ff_1005    conda-forge
hdf5                      1.10.6          mpi_mpich_h996c276_1014    conda-forge
heapdict                  1.0.1                      py_0    conda-forge
icu                       68.1                 h58526e2_0    conda-forge
identify                  2.2.4              pyhd8ed1ab_0    conda-forge
idna                      2.10               pyh9f0ad1d_0    conda-forge
imagehash                 4.2.0              pyhd8ed1ab_0    conda-forge
imagesize                 1.2.0                      py_0    conda-forge
importlib-metadata        4.0.1            py38h578d9bd_0    conda-forge
iris-sample-data          2.3.0              pyh9f0ad1d_0    conda-forge
jinja2                    2.11.3             pyh44b312d_0    conda-forge
jpeg                      9d                   h36c2ea0_0    conda-forge
kiwisolver                1.3.1            py38h1fd1430_1    conda-forge
krb5                      1.17.2               h926e7f8_0    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.35.1               hea4e1c9_2    conda-forge
libblas                   3.9.0                9_openblas    conda-forge
libcblas                  3.9.0                9_openblas    conda-forge
libclang                  11.1.0          default_ha53f305_0    conda-forge
libcurl                   7.76.1               hc4aaa36_1    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               hcdb4288_3    conda-forge
libffi                    3.3                  h58526e2_2    conda-forge
libgcc-ng                 9.3.0               h2828fa1_19    conda-forge
libgd                     2.3.2                h78a0170_0    conda-forge
libgfortran-ng            9.3.0               hff62375_19    conda-forge
libgfortran5              9.3.0               hff62375_19    conda-forge
libglib                   2.68.1               h3e27bee_0    conda-forge
libgomp                   9.3.0               h2828fa1_19    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0                9_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_2    conda-forge
libmo_unpack              3.1.2             hf484d3e_1001    conda-forge
libnetcdf                 4.8.0           mpi_mpich_hf07302c_1    conda-forge
libnghttp2                1.43.0               h812cca2_0    conda-forge
libogg                    1.3.4                h7f98852_1    conda-forge
libopenblas               0.3.15          pthreads_h8fe5266_0    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libpq                     13.2                 hfd2b0eb_2    conda-forge
librsvg                   2.50.3               hfa39831_1    conda-forge
libssh2                   1.9.0                ha56f1ee_6    conda-forge
libstdcxx-ng              9.3.0               h6de172a_19    conda-forge
libtiff                   4.2.0                hdc55705_1    conda-forge
libtool                   2.4.6             h58526e2_1007    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libwebp                   1.2.0                h3452ae3_0    conda-forge
libwebp-base              1.2.0                h7f98852_2    conda-forge
libxcb                    1.13              h7f98852_1003    conda-forge
libxkbcommon              1.0.3                he3ba5ed_0    conda-forge
libxml2                   2.9.10               h72842e0_4    conda-forge
libzip                    1.7.3                h4de3113_0    conda-forge
locket                    0.2.1                    pypi_0    pypi
lz4-c                     1.9.3                h9c3ff4c_0    conda-forge
markupsafe                1.1.1            py38h497a2fe_3    conda-forge
matplotlib                3.4.1            py38h578d9bd_0    conda-forge
matplotlib-base           3.4.1            py38hcc49a3a_0    conda-forge
mccabe                    0.6.1                      py_1    conda-forge
mo_pack                   0.2.0           py38h5c078b8_1005    conda-forge
mpi                       1.0                       mpich    conda-forge
mpi4py                    3.0.3            py38he865349_7    conda-forge
mpich                     3.4.1              h846660c_104    conda-forge
msgpack-python            1.0.2            py38h1fd1430_1    conda-forge
mypy_extensions           0.4.3            py38h578d9bd_3    conda-forge
mysql-common              8.0.23               ha770c72_2    conda-forge
mysql-libs                8.0.23               h935591d_2    conda-forge
nc-time-axis              1.2.0                      py_1    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
netcdf-fortran            4.5.3           mpi_mpich_h196b126_4    conda-forge
netcdf4                   1.5.6           nompi_py38h5e9db54_103    conda-forge
nodeenv                   1.6.0              pyhd8ed1ab_0    conda-forge
nose                      1.3.7                   py_1006    conda-forge
nspr                      4.30                 h9c3ff4c_0    conda-forge
nss                       3.64                 hb5efdd6_0    conda-forge
numpy                     1.20.2           py38h9894fe3_0    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openssl                   1.1.1k               h7f98852_0    conda-forge
packaging                 20.9               pyh44b312d_0    conda-forge
pandas                    1.2.4            py38h1abd341_0    conda-forge
pango                     1.42.4               h69149e4_5    conda-forge
partd                     1.2.0              pyhd8ed1ab_0    conda-forge
pathspec                  0.8.1              pyhd3deb0d_0    conda-forge
pcre                      8.44                 he1b5a44_0    conda-forge
pillow                    6.2.2            py38h9776b28_0    conda-forge
pip                       21.1.1             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pockets                   0.9.1                      py_0    conda-forge
pre-commit                2.12.1           py38h578d9bd_0    conda-forge
proj                      7.2.0                h277dcde_2    conda-forge
psutil                    5.8.0            py38h497a2fe_1    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
pycodestyle               2.7.0              pyhd8ed1ab_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pyflakes                  2.3.1              pyhd8ed1ab_0    conda-forge
pygments                  2.9.0              pyhd8ed1ab_0    conda-forge
pyke                      1.1.1           pyhd8ed1ab_1004    conda-forge
pyopenssl                 20.0.1             pyhd8ed1ab_0    conda-forge
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
pyqt                      5.12.3           py38h578d9bd_7    conda-forge
pyqt-impl                 5.12.3           py38h7400c14_7    conda-forge
pyqt5-sip                 4.19.18          py38h709712a_7    conda-forge
pyqtchart                 5.12             py38h7400c14_7    conda-forge
pyqtwebengine             5.12.1           py38h7400c14_7    conda-forge
pyshp                     2.1.3              pyh44b312d_0    conda-forge
pysocks                   1.7.1            py38h578d9bd_3    conda-forge
python                    3.8.8           hffdb5ce_0_cpython    conda-forge
python-dateutil           2.8.1                      py_0    conda-forge
python-stratify           0.1.1           py38h5c078b8_1003    conda-forge
python-xxhash             2.0.2            py38h497a2fe_0    conda-forge
python_abi                3.8                      1_cp38    conda-forge
pytz                      2021.1             pyhd8ed1ab_0    conda-forge
pyugrid                   0.3.1                      py_2    conda-forge
pywavelets                1.1.1            py38h5c078b8_3    conda-forge
pyyaml                    5.4.1            py38h497a2fe_0    conda-forge
qt                        5.12.9               hda022c4_4    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
regex                     2021.4.4         py38h497a2fe_0    conda-forge
requests                  2.25.1             pyhd3deb0d_0    conda-forge
scipy                     1.6.3            py38h7b17777_0    conda-forge
scitools-iris             3.1.dev0                  dev_0    <develop>
setuptools                49.6.0           py38h578d9bd_3    conda-forge
shapely                   1.7.1            py38h4fc1155_4    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snowballstemmer           2.1.0              pyhd8ed1ab_0    conda-forge
sortedcontainers          2.3.0              pyhd8ed1ab_0    conda-forge
sphinx                    3.5.4              pyh44b312d_0    conda-forge
sphinx-copybutton         0.3.1              pyhd8ed1ab_0    conda-forge
sphinx-gallery            0.9.0              pyhd8ed1ab_0    conda-forge
sphinx-panels             0.5.2              pyhd3deb0d_0    conda-forge
sphinx_rtd_theme          0.5.2              pyhd8ed1ab_1    conda-forge
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    1.0.3                      py_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-napoleon    0.7                        py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.4                      py_0    conda-forge
sqlite                    3.35.5               h74cdb3f_0    conda-forge
tblib                     1.7.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.10               h21135ba_1    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
toolz                     0.11.1                     py_0    conda-forge
tornado                   6.1              py38h497a2fe_1    conda-forge
typed-ast                 1.4.3            py38h497a2fe_0    conda-forge
typing_extensions         3.7.4.3                    py_0    conda-forge
udunits2                  2.2.27.27            h975c496_1    conda-forge
urllib3                   1.26.4             pyhd8ed1ab_0    conda-forge
virtualenv                20.4.6           py38h578d9bd_0    conda-forge
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.0                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xxhash                    0.8.0                h7f98852_3    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
yaml                      0.2.5                h516909a_0    conda-forge
zict                      2.0.0                      py_0    conda-forge
zipp                      3.4.1              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h516909a_1010    conda-forge
zstd                      1.4.9                ha95c52a_0    conda-forge
```
</details>


Discussion:

Resolving patch:
diff --git a/lib/cartopy/mpl/geoaxes.py b/lib/cartopy/mpl/geoaxes.py
--- a/lib/cartopy/mpl/geoaxes.py
+++ b/lib/cartopy/mpl/geoaxes.py
@@ -1553,7 +1553,7 @@ def contour(self, *args, **kwargs):
                   if col.get_paths()]
         if bboxes:
             extent = mtransforms.Bbox.union(bboxes)
-            self.dataLim.update_from_data_xy(extent.get_points())
+            self.dataLim.update_from_data_xy(extent.get_points(), ignore=False)
 
         self.autoscale_view()
 
@@ -1591,7 +1591,7 @@ def contourf(self, *args, **kwargs):
                   if col.get_paths()]
         if bboxes:
             extent = mtransforms.Bbox.union(bboxes)
-            self.dataLim.update_from_data_xy(extent.get_points())
+            self.dataLim.update_from_data_xy(extent.get_points(), ignore=False)
 
         self.autoscale_view()
 


Test patch:
diff --git a/lib/cartopy/tests/mpl/test_contour.py b/lib/cartopy/tests/mpl/test_contour.py
--- a/lib/cartopy/tests/mpl/test_contour.py
+++ b/lib/cartopy/tests/mpl/test_contour.py
@@ -34,6 +34,27 @@ def test_contour_plot_bounds():
     ax.contourf(x, y, data, levels=np.max(data) + np.arange(1, 3))
 
 
+def test_contour_doesnt_shrink():
+    xglobal = np.linspace(-180, 180)
+    yglobal = np.linspace(-90, 90)
+    xsmall = np.linspace(-30, 30)
+    ysmall = np.linspace(-30, 30)
+    data = np.hypot(*np.meshgrid(xglobal, yglobal))
+
+    proj = ccrs.PlateCarree()
+
+    ax = plt.axes(projection=proj)
+    ax.contourf(xglobal, yglobal, data)
+    expected = np.array([xglobal[0], xglobal[-1], yglobal[0], yglobal[-1]])
+    assert_array_almost_equal(ax.get_extent(), expected)
+
+    # Make sure that a call to contour(f) doesn't shrink the already set bounds
+    ax.contour(xsmall, ysmall, data)
+    assert_array_almost_equal(ax.get_extent(), expected)
+    ax.contourf(xsmall, ysmall, data)
+    assert_array_almost_equal(ax.get_extent(), expected)
+
+
 @cleanup
 def test_contour_linear_ring():
     """Test contourf with a section that only has 3 points."""