我正在尝试在此图表下方绘制一个颜色条,其中颜色取决于每个时间序列的开始时间:

用于创建绘图的代码是这样的:
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();
Run Code Online (Sandbox Code Playgroud)
但是执行此错误时出现:
RuntimeError:未找到可用于颜色条创建的可映射。首先定义一个可映射的对象,例如图像(带有imshow)或轮廓集(带有轮廓f)。
我尝试以不同的方式(例如fig, ax = plt.figure()...一种)添加颜色条,但是到目前为止,我无法使其工作。有任何想法吗?谢谢!
这可能是世界上最愚蠢的问题,但是以某种方式我无法访问Customer Support该对象中的元素,它返回undefined
这是我的对象:
obj = {
"channel_ids": {
"IT": 258403,
"HR": 258404,
"Design": 258409,
"Marketing": 258398,
"Sales": 258413,
"Writing": 258414,
"?Customer Support": 258399,
"Education": 260535,
"Finance": 258406,
"Executive": 258407,
"Admin Assistant": 260554,
"Social Media": 258405,
"Legal": 258415
}
}
Run Code Online (Sandbox Code Playgroud)
例如,当我这样做时,obj.channel_ids ['Social Media']可以正常工作

但是当我做obj.channel_ids ['客户支持']时,却没有,我也不知道为什么

我在这里想念什么?