小编Xoe*_*ata的帖子

在Pandas + Matplotlib中使用Colorbar绘制时间序列

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

用于创建绘图的代码是这样的:

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()...一种)添加颜色条,但是到目前为止,我无法使其工作。有任何想法吗?谢谢!

python data-visualization matplotlib pandas

3
推荐指数
1
解决办法
765
查看次数

无法访问JS对象的元素

这可能是世界上最愚蠢的问题,但是以某种方式我无法访问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 ['客户支持']时,却没有,我也不知道为什么 在此处输入图片说明

我在这里想念什么?

javascript

3
推荐指数
1
解决办法
51
查看次数