Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6b3c015

Browse files
authored
Merge pull request #13047 from timhoffm/doc-contourf-extend-cmap
DOC: Improve docs on contourf extend
2 parents d12be50 + bb4b272 commit 6b3c015

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

lib/matplotlib/contour.py

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1739,14 +1739,42 @@ def _initialize_x_y(self, z):
17391739
are not given explicitly via *levels*.
17401740
Defaults to `~.ticker.MaxNLocator`.
17411741
1742-
extend : {'neither', 'both', 'min', 'max'}, optional
1743-
Unless this is 'neither', contour levels are automatically
1744-
added to one or both ends of the range so that all data
1745-
are included. These added ranges are then mapped to the
1746-
special colormap values which default to the ends of the
1747-
colormap range, but can be set via
1748-
:meth:`matplotlib.colors.Colormap.set_under` and
1749-
:meth:`matplotlib.colors.Colormap.set_over` methods.
1742+
extend : {'neither', 'both', 'min', 'max'}, optional, default: \
1743+
'neither'
1744+
Determines the ``contourf``-coloring of values that are outside the
1745+
*levels* range.
1746+
1747+
If 'neither', values outside the *levels* range are not colored.
1748+
If 'min', 'max' or 'both', color the values below, above or below
1749+
and above the *levels* range.
1750+
1751+
Values below ``min(levels)`` and above ``max(levels)`` are mapped
1752+
to the under/over values of the `.Colormap`. Note, that most
1753+
colormaps do not have dedicated colors for these by default, so
1754+
that the over and under values are the edge values of the colormap.
1755+
You may want to set these values explicitly using
1756+
`.Colormap.set_under` and `.Colormap.set_over`.
1757+
1758+
.. note::
1759+
1760+
An exising `.QuadContourSet` does not get notified if
1761+
properties of its colormap are changed. Therefore, an explicit
1762+
call `.QuadContourSet.changed()` is needed after modifying the
1763+
colormap. The explicit call can be left out, if a colorbar is
1764+
assigned to the `.QuadContourSet` because it interally calls
1765+
`.QuadContourSet.changed()`.
1766+
1767+
Example::
1768+
1769+
x = np.arange(1, 10)
1770+
y = x.reshape(-1, 1)
1771+
h = x * y
1772+
1773+
cs = plt.contourf(h, levels=[10, 30, 50],
1774+
colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both')
1775+
cs.cmap.set_over('red')
1776+
cs.cmap.set_under('blue')
1777+
cs.changed()
17501778
17511779
xunits, yunits : registered units, optional
17521780
Override axis units by specifying an instance of a

0 commit comments

Comments
 (0)