Skip to content

Commit 529225f

Browse files
timhoffmjklymak
andcommitted
Relpace the sinosoidal lines in the style sheet reference
with less overlapping lines to make the color cycle more obvious. Co-authored-by: Jody Klymak <jklymak@gmail.com>
1 parent 3c00cc2 commit 529225f

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

examples/style_sheets/style_sheets_reference.py

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import numpy as np
1313
import matplotlib.pyplot as plt
14+
import matplotlib.colors as mcolors
1415

1516
# Fixing random state for reproducibility
1617
np.random.seed(19680801)
@@ -26,15 +27,19 @@ def plot_scatter(ax, prng, nb_samples=100):
2627
return ax
2728

2829

29-
def plot_colored_sinusoidal_lines(ax):
30-
"""Plot sinusoidal lines with colors following the style color cycle."""
31-
L = 2 * np.pi
32-
x = np.linspace(0, L)
30+
def plot_colored_lines(ax):
31+
"""Plot lines with colors following the style color cycle."""
32+
t = np.linspace(-10, 10, 100)
33+
34+
def sigmoid(t, t0):
35+
return 1 / (1 + np.exp(-(t - t0)))
36+
3337
nb_colors = len(plt.rcParams['axes.prop_cycle'])
34-
shift = np.linspace(0, L, nb_colors, endpoint=False)
35-
for s in shift:
36-
ax.plot(x, np.sin(x + s), '-')
37-
ax.set_xlim([x[0], x[-1]])
38+
shifts = np.linspace(-5, 5, nb_colors)
39+
amplitudes = np.linspace(1, 1.5, nb_colors)
40+
for t0, a in zip(shifts, amplitudes):
41+
ax.plot(t, a * sigmoid(t, t0), '-')
42+
ax.set_xlim(-10, 10)
3843
return ax
3944

4045

@@ -108,17 +113,28 @@ def plot_figure(style_label=""):
108113
# double the width and halve the height. NB: use relative changes because
109114
# some styles may have a figure size different from the default one.
110115
(fig_width, fig_height) = plt.rcParams['figure.figsize']
111-
fig_size = [fig_width * 2, fig_height / 2]
116+
fig_size = [fig_width * 2, fig_height / 1.75]
112117

113118
fig, axs = plt.subplots(ncols=6, nrows=1, num=style_label,
114119
figsize=fig_size, squeeze=True)
115-
axs[0].set_ylabel(style_label, fontsize=13, fontweight='bold')
120+
121+
# make a suptitle, in the same style for all subfigures,
122+
# except those with dark backgrounds, which get a lighter
123+
# color:
124+
col = np.array([19, 6, 84])/256
125+
back = mcolors.rgb_to_hsv(
126+
mcolors.to_rgb(plt.rcParams['figure.facecolor']))[2]
127+
if back < 0.5:
128+
col = [0.8, 0.8, 1]
129+
fig.suptitle(style_label, x=0.01, fontsize=14, ha='left',
130+
color=col, fontfamily='DejaVu Sans',
131+
fontweight='normal')
116132

117133
plot_scatter(axs[0], prng)
118134
plot_image_and_patch(axs[1], prng)
119135
plot_bar_graphs(axs[2], prng)
120136
plot_colored_circles(axs[3], prng)
121-
plot_colored_sinusoidal_lines(axs[4])
137+
plot_colored_lines(axs[4])
122138
plot_histograms(axs[5], prng)
123139

124140
fig.tight_layout()

0 commit comments

Comments
 (0)