使用 holoviews 散景的步骤图

step plot using holoviews bokeh

我正在尝试将两个步进图添加到同一个散景图。虽然每个阶梯图都有不同的 x 值,因此 bkcharts 包中的 Step 函数不起作用。我想叠加由 bkcharts 包生成的两个单一 Step 图表,但似乎无法使用 holoviews 创建步骤图。有简单的解决方法吗?

import bokeh.plotting as bk
from bokeh.charts import Step
import pandas as pd

data1 = pd.DataFrame({'time': [1,3,5,7], 'value': [3,4,1,3]})
data2 = pd.DataFrame({'time': [2,4,6,9], 'value': [2,1,4,2]})


step1 = Step(data1, x='time', y='value')
step2 = Step(data2, x='time', y='value')

bk.show(Step(data1, x='time', y='value'))
bk.show(Step(data2, x='time', y='value'))

我想做类似的事情 step1 * step2

HoloViews 确实允许您使用曲线元素的选项制作步骤图。请参阅 Gallery 中的示例:

%%opts Curve [width=600] NdOverlay [legend_position='right']
hv.NdOverlay({interp: hv.Curve(points[::8])(plot=dict(interpolation=interp))
              for interp in ['linear', 'steps-mid', 'steps-pre', 'steps-post']})

您也可以对常规叠加层(* 运算符)执行相同的操作;关键是将 interpolation 选项设置为可用的步骤类型之一。