Я пытаюсь построить цветную полосу под этой диаграммой, где цвет зависит от того, когда начинается каждый из временных рядов:
Код, сгенерированный для создания графика, выглядит так:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
def partial_cum_returns(start, cum_returns):
return cum_returns.loc[start:].div(cum_returns.loc[start])
index = pd.DatetimeIndex(pd.date_range('20170101', '20190101', freq='W'))
np.random.seed(5)
returns = pd.Series(np.exp(np.random.normal(loc=0, scale=0.05, size=len(index))), index=index)
cum_returns = returns.cumprod()
df = pd.DataFrame(index=index)
for date in index:
df[date] = partial_cum_returns(date, cum_returns)
df.plot(legend=False, colormap='viridis');
plt.colorbar();
Но при выполнении появляется эта ошибка:
RuntimeError: Не найдено ни одного сопоставимого элемента для создания цветовой панели. Сначала определите сопоставляемую информацию, такую как изображение (с imshow) или набор контуров (с контуром).
Я пытался добавить цветовую панель по-разному, например fig, ax = plt.figure()...
, но пока не мог заставить ее работать. Есть идеи? Спасибо!