diff --git a/galleries/examples/color/color_sequences.py b/galleries/examples/color/color_sequences.py new file mode 100644 index 000000000000..9a2fd04a53d0 --- /dev/null +++ b/galleries/examples/color/color_sequences.py @@ -0,0 +1,65 @@ +""" +===================== +Named color sequences +===================== + +Matplotlib's `~matplotlib.colors.ColorSequenceRegistry` allows access to +predefined lists of colors by name e.g. +``colors = matplotlib.color_sequences['Set1']``. This example shows all of the +built in color sequences. + +User-defined sequences can be added via `.ColorSequenceRegistry.register`. +""" + +import matplotlib.pyplot as plt +import numpy as np + +import matplotlib as mpl + + +def plot_color_sequences(names, ax): + # Display each named color sequence horizontally on the supplied axes. + + for n, name in enumerate(names): + colors = mpl.color_sequences[name] + n_colors = len(colors) + x = np.arange(n_colors) + y = np.full_like(x, n) + + ax.scatter(x, y, facecolor=colors, edgecolor='dimgray', s=200, zorder=2) + + ax.set_yticks(range(len(names)), labels=names) + ax.grid(visible=True, axis='y') + ax.yaxis.set_inverted(True) + ax.xaxis.set_visible(False) + ax.spines[:].set_visible(False) + ax.tick_params(left=False) + + +built_in_color_sequences = [ + 'tab10', 'tab20', 'tab20b', 'tab20c', 'Pastel1', 'Pastel2', 'Paired', + 'Accent', 'Dark2', 'Set1', 'Set2', 'Set3', 'petroff10'] + + +fig, ax = plt.subplots(figsize=(6.4, 9.6), layout='constrained') + +plot_color_sequences(built_in_color_sequences, ax) +ax.set_title('Built In Color Sequences') + +plt.show() + + +# %% +# +# .. admonition:: References +# +# The use of the following functions, methods, classes and modules is shown +# in this example: +# +# - `matplotlib.colors.ColorSequenceRegistry` +# - `matplotlib.axes.Axes.scatter` +# +# .. tags:: +# +# styling: color +# purpose: reference diff --git a/galleries/examples/color/individual_colors_from_cmap.py b/galleries/examples/color/individual_colors_from_cmap.py index cdd176eb3be1..8d2b41eb02fb 100644 --- a/galleries/examples/color/individual_colors_from_cmap.py +++ b/galleries/examples/color/individual_colors_from_cmap.py @@ -38,7 +38,9 @@ # Extracting colors from a discrete colormap # ------------------------------------------ # The list of all colors in a `.ListedColormap` is available as the ``colors`` -# attribute. +# attribute. Note that all the colors from Matplotlib's qualitative color maps +# are also available as color sequences, so may be accessed more directly from +# the color sequence registry. See :doc:`/gallery/color/color_sequences`. colors = mpl.colormaps['Dark2'].colors diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index e881af04508c..aa53b575b737 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -108,6 +108,7 @@ class ColorSequenceRegistry(Mapping): import matplotlib as mpl colors = mpl.color_sequences['tab10'] + For a list of built in color sequences, see :doc:`/gallery/color/color_sequences`. The returned lists are copies, so that their modification does not change the global definition of the color sequence.