【发布时间】:2018-07-03 18:12:16
【问题描述】:
我正在尝试在此图表下方绘制一个颜色条,其中颜色取决于每个时间序列的开始时间:
用于创建绘图的代码如下:
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)或轮廓集(使用 contourf)。
我尝试以不同的方式添加颜色条,例如 fig, ax = plt.figure()... 之一,但到目前为止我无法让它工作。有任何想法吗?谢谢!
【问题讨论】:
标签: python pandas matplotlib data-visualization