1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 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
|