【问题标题】:Holoviews Chord Diagram: How to get Edges & Nodes to have the same color?Holoviews和弦图:如何使边和节点具有相同的颜色?
【发布时间】:2021-03-25 13:46:56
【问题描述】:

我尝试了全息视图示例来创建和弦图here,效果很好。但是,当尝试修改和弦图时,我一直无法让边缘与节点具有相同的颜色,并按各自的组进行颜色分组。

我使用的修改后的代码:

    import pandas as pd
    import holoviews as hv
    from holoviews import opts, dim
    from bokeh.sampledata.les_mis import data
    
    hv.extension('bokeh')
    hv.output(size=200)
    
    links = pd.DataFrame(data['links'])
    nodes = hv.Dataset(pd.DataFrame(data['nodes']), 'index')
    
    chord = hv.Chord((links, nodes)).select(value=(5, None))
    chord.opts(opts.Chord(labels='name', 
                          cmap='Category20', 
                          edge_cmap='Category20', 
                          edge_color=dim('group').str(), 
                          node_color=dim('group').str()))

数据:

    print(links.head(3))

    nodes.data.head()

结果:

预期结果: 边缘应与节点颜色相同。

here 提出了针对不同问题的类似问题,但还没有答案/解决方案。

感谢任何帮助/建议!

【问题讨论】:

    标签: python bokeh holoviews chord-diagram


    【解决方案1】:

    edge_colornode_color 参数不应相同。这应该有效:

    chord.opts(opts.Chord(labels='name',
                          cmap='Category20',
                          edge_color=dim('source').str(),
                          node_color=dim('name').str()))
    

    我认为node_color=dim('name').str())) 也可以是node_color=dim('index').str()))

    【讨论】:

    • 这不是我想要的。我希望 edge_color 反映与 node_color 相同的颜色。您所建议的只是 holoviews 页面中的原始示例,它通过“源”列为边缘着色,通过“名称”列着色节点
    • 你的意思是同一组的边和节点应该有相同的颜色吗?
    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2021-01-25
    • 2020-04-14
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    相关资源
    最近更新 更多