我有一个长这样的df:
data = {'Cumulative': {0: 4, 1: 18, 2: 24, 3: 24, 4: 4, 5: 20, 6: 32, 7: 42}, 'Id': {0: 1, 1: 1, 2: 1, 3: 1, 4: 2, 5: 2, 6: 2, 7: 2}, 'Order': {0: '1-1', 1: '1-2', 2: '1-3', 3: '1-4', 4: '1-1', 5: '1-2', 6: '1-3', 7: '1-4'}, 'Period': {0: 1, 1: 2, 2: 3, 3: 4, 4: 1, 5: 2, 6: 3, 7: 4}, 'Time': {0: '1-1', 1: '1-2', 2: '1-3', 3: '1-4', 4: '1-1', 5: '1-2', 6: '1-3', 7: '1-4'}, 'Year': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1}}
df = pd.DataFrame(data)
生成的数据框如下所示: 我想使用Holoviews为每个id绘制一条线。因此,'Order'在x轴上,'Cumulative'在y轴上,每个'Id'都有自己的线(所有线颜色相同)。目前为止,我已经做了这个,但结果不正确。
%opts Curve [width=600 height=400 show_grid=True ] (color='indianred', alpha=0.5, line_width=1)
kdims=['Order' ] vdims = ['Cumulative',
] ds = hv.Dataset(df.sort_values(by=['Year','Period']), kdims=kdims, vdims= vdims)
ds.to(hv.Curve, ['Order'] ,'Cumulative' )