Вот пример использования функции синуса для демонстрации концепции. axvspan
dr aws вертикальные пролеты. Цвет может быть установлен из цветовой карты. color=0
будет слева от карты, color=1
полностью справа. Здесь используются красные. Некоторые эксперименты с альфа и индексами предполагают, что alpha=0.6
и индексы 0,75 и снижение дают некоторые цвета, аналогичные приведенным в примере.
import matplotlib.pyplot as plt
import numpy as np
x_min = 0
x_max = 120
x = np.linspace(x_min, x_max, 10000)
y = np.sin(x/3)
fig, ax = plt.subplots(figsize=(12,2))
ax.plot(x, y, color='royalblue')
cmap = plt.cm.Reds # e.g. plt.cm.plasma_r or plt.cm.YlOrRd also seem interesting
current_x = 105
x_step = 16
for i in range(8):
ax.axvspan(current_x - (i + 1) * x_step, current_x - i * x_step,
alpha=0.6, color=cmap(0.75 - i / 20))
ax.set_xlim(x_min, x_max)
plt.tight_layout()
plt.show()
В качестве альтернативы, вместо изменения цвета, можно изменить альфа. В примере только с красными цветами следующее приводит к чему-то похожему:
for i in range(8):
ax.axvspan(current_x - (i + 1) * x_step, current_x - i * x_step,
alpha=0.5 - i / 20, color='red')
Конечно, можно варьировать как альфа, так и цвет вместе для более точной настройки. Нужны некоторые эксперименты, чтобы найти цвета, которые достаточно различны и не слишком кричат.
Вот пример с cmap = plt.cm.inferno_r
и ax.axvspan(..., alpha=0.4, color=cmap(0.8 - i / 10))
: