首页 > 解决方案 > 如何将第二轴添加到 holoviews 的散景图中?

问题描述

我想将第二个 y 轴添加到带有散景后端的全息视图中。

在散景中,参数“extra-y-axis”实现了这一点。在搜索了 holoviews API 之后,我没有找到任何直接的命令/参数,所以 - 通过一些 hv github 研究 - 我用hooks尝试了它。但不幸的是,我仍在努力定义一个 finalize/initialize 钩子来做到这一点。

我尝试了什么(来自 holoviews 的 github 的代码):

def twinx(plot, element):
    # Setting the second y axis range name and range
    start, end = (element.range(1))
    label = element.dimensions()[1].pprint_label
    plot.state.extra_y_ranges = {"foo": Range1d(start=start, end=end)}
    # Adding the second axis to the plot. 
    linaxis = LinearAxis(axis_label=label, y_range_name='foo')
    plot.state.add_layout(linaxis, 'left')

curve_1 = hv.Scatter(data1)
curve_2 = hv.Scatter(data2).opts(plot=dict(finalize_hooks=[twinx]), style=dict(color='red'))

curve_1*curve_2

结果确实创建了第二个 y 轴,但curve_2 仍针对第一个 y-axis 绘制

我该如何解决这个问题?谢谢!

标签: pythondata-visualizationbokehholoviews

解决方案


推荐阅读