在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()))
如果我改为尝试将数据框转换为holoviews数据集并将其转换为Chord,则会得到一个可工作的滑块,但无法弄清楚如何连接节点数据:
ds= hv.Dataset(
data=df,
kdims=["from", "to", "year"],
vdims=["number"])
ds.to(hv.Chord)
为了获得交互式图并同时拥有节点,我还缺少什么?