如何利用网络图中的权重表改变线宽

2024-05-15 18:45:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图改变三维网络图绘图的线宽。我正在使用igraph python库。我有不同的边权重。但我不能用这些权值来改变代表边缘。求你了帮我弄点东西这个。跟着是示例代码

eG=ig.Graph(directed=False)
eG.add_vertices(6)
eG.add_edges([(0,1),(1,2),(2,3),(3,4),(3,5),(5,3)])
eG.es['weight']=[12,1,2,3,4,1]

那我就试着用这些Weights做线条宽度.Xe,Ye和Ze也是列表,其工作但线宽不工作

trace1=Scatter3d(x=Xe,
           y=Ye,
           z=Ze,
           mode='lines',
            line=Line(color='rgb(125,125,125)',width =eG.es['weight']),
           hoverinfo='none'
           )

Tags: add绘图es代表边缘网络图权重eg
1条回答
网友
1楼 · 发布于 2024-05-15 18:45:20

我会用igraph的函数来绘图。很容易定义边缘宽度。你知道吗

示例

import igraph as ig

eG=ig.Graph(directed=False)
eG.add_vertices(6)
eG.add_edges([(0,1),(1,2),(2,3),(3,4),(3,5),(5,3)])
eG.es['weight']=[12,1,2,3,4,1]

layout = eG.layout("kk")

visual_style = {}
visual_style["vertex_size"] = 20
visual_style["vertex_label"] = eG.vs["name"]
visual_style["edge_width"] = eG.es['weight']
visual_style["bbox"] = (300, 300)

ig.plot(eG, **visual_style)

结果

enter image description here

相关问题 更多 >