如何使用交互式滑块在Holoviews中绘制和弦图

时间:2019-12-30 11:45:25

标签: python-3.x bokeh holoviews

在Holoviews中设置和弦图时,将数据集连接到节点时,无法与nholomaps交互。这是我的脚本(请注意我希望用户能够选择的年份列):

import pandas as pd
import holoviews as hv
from holoviews import opts

hv.extension('bokeh')

df = pd.DataFrame({'from': ["11", "12", "13", "14", "15", "16"],
                   'to': ["16", "15", "11", "11", "11", "16"],
                   'number': [10, 20, 13, 8, 6, 9],
                   'year': [2018, 2018, 2018, 2017, 2017, 2017]})

nodes = pd.DataFrame({'id': ["11", "12", "13", "14", "15", "16"],
                   'name': ["A", "B", "C", "D", "E", "F"]})

nodes = hv.Dataset(nodes, "id", "name")

在year列上不使用过滤器,则可以正常运行:

hv.Chord((df, nodes), ["from", "to"], ["number"]).opts(
    opts.Chord(cmap="Category20", edge_color=dim("from").str(),
              height=500, width=500, labels="name", node_color=dim("id").str()))

返回: enter image description here

如果我改为尝试将数据框转换为holoviews数据集并将其转换为Chord,则会得到一个可工作的滑块,但无法弄清楚如何连接节点数据:

ds= hv.Dataset(
    data=df,
    kdims=["from", "to", "year"],
    vdims=["number"])

ds.to(hv.Chord) 

enter image description here

为了获得交互式图并同时拥有节点,我还缺少什么?

0 个答案:

没有答案