Из вопроса не совсем понятно, как выглядят данные. Вот пример использования 4 серий различной длины, все из которых имеют индекс 0,1,2,3,...
. Разброс строит график зависимости индекса от значения и окрашивает каждую серию с использованием полного цветового диапазона.
Предложение состоит в том, чтобы добавить одну цветовую полосу на серию, если их не слишком много. Каждая цветовая панель имеет заголовок и показывает галочки в зависимости от диапазона, используемого для этой серии. Создание узких цветовых полос (кроме первого) делает их похожими на дополнительный топор.
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
N = 4
series_to_plot = [pd.Series(np.random.uniform(i, i + 0.8, np.random.randint(50, 400))) for i in range(1, N + 1)]
names = [f'data{i}' for i in range(1, N + 1)]
fig, ax = plt.subplots(figsize=(12, 5))
for ind, (ser, name) in enumerate(zip(series_to_plot, names)):
scat = ax.scatter(ser.index, ser, c=ser.index, s=1, cmap='plasma')
cax = fig.add_axes(
[1 - (N - ind) * 0.05, 0.1, 0.01 if ind == 0 else 0.002, 0.75]) # left, bottom, width, height, where 1,1 is top right of the fig
cbar = fig.colorbar(scat, cax=cax)
cax.set_title(name)
plt.subplots_adjust(right=0.97 - N * 0.05) # make room for the colorbars
plt.show()