[英]Transparant, and coloured, networkx nodes with a node colour dictionary?
在繪制具有不同顏色節點的 .networkx 圖時,我試圖使其中一些節點透明。 根據這篇文章的最后一個答案,這似乎是可能的。 但是,我在設置顏色和透明度值時遇到了一些困難。
類似於鏈接帖子中的給定答案,我嘗試過:
for node_name in G.nodes:
if node_name[:4] == "red_":
colour_dict[node_name] = ["olive",0.5]
else:
colour_dict[node_name] = ["yellow",1]
nx.draw(
G,
nx.get_node_attributes(G, "pos"),
with_labels=True,
node_size=160,
font_size=6,
width=0.2,
node_color=color_map,
edge_color=edge_color_map,
# **options,
)
哪個返回:
ValueError: 'c' 參數必須是顏色、colors 的序列或數字序列,而不是 [['olive', 1], ['olive', 1], ['olive', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖' , 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1], ['橄欖', 1] ], ['橄欖', 1], ['橄欖', 1]]
因此,我想問一下,如何設置節點顏色並同時使其透明(例如50%透明)?
下面描述了您選擇的方法的兩種替代方法:
您可以使用此答案中顯示的方法獲取指定顏色的 rgb 值,而不是搜索所需的 colors 的 rgb 值(只需使用colors.to_rgb()
而不是colors.to_rgba()
),然后 append使用此答案中描述的方法將所需的 alpha 值添加到元組的末尾。
使用nx.draw.networkx_nodes
單獨繪制節點可能更方便。通過這樣做,您可以將 colors 的列表傳遞給node_color
並將 alpha 值列表傳遞給alpha
。 使用您定義的colour_dict
,您可以輕松創建這些列表以傳遞到繪圖 function 中。如果您願意,可以在此問題和答案中找到更多詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.