我如何在holoviews Sankey图中为各个类别着色?

问题描述 投票:0回答:1

我正在修改文档中的示例:http://holoviews.org/reference/elements/bokeh/Sankey.html

我希望能够访问每个类别并为它们明确着色。例如,将“ A”黄色,“ B”蓝色等。我很乐意提供十六进制代码。

我在任何地方都找不到答案:文档,github问题或先前的问题。我发现最接近的是:Colour the links between nodes in sankey diagram: networkD3作为holoviews Sankey的移植版,但我不知道这如何应用于holoviews实现。

来自上面链接的代码

import holoviews as hv
from holoviews import opts, dim
hv.extension('bokeh')
sankey = hv.Sankey([
       ['A', 'X', 5],
       ['A', 'Y', 7],
       ['A', 'Z', 6],
       ['B', 'X', 2],
       ['B', 'Y', 9],
       ['B', 'Z', 4]]
)
sankey.opts(width=600, height=400)

我如何将以上内容更改为显式地为A,B,X,Y,Z颜色?

谢谢

styling sankey-diagram holoviews
1个回答
0
投票

http://holoviews.org/user_guide/Styling_Plots.html#Explicit%20color%20mapping

from holoviews.plotting.util import process_cmap

cmap_list = process_cmap("glasbey_hv")
cmap = {
    "A": cmap_list[0], # or 'yellow', 'blue', etc
    "B": cmap_list[1],
    "X": cmap_list[2],
    "Y": cmap_list[3],
    "Z": cmap_list[4],
}

sankey.opts(width=600, height=400, cmap=cmap)
© www.soinside.com 2019 - 2024. All rights reserved.