如何绘制具有不同大小的顶点和边的图形?我正在使用 ipython 和 holoviews 库。
例如,
边缘输入
start,ends
1,4
2,4
3,5
3,6
2,6
节点输入
x,y,index,type
0.0,1.0,1,a
0.5,1.0,2,a
1.0,1.0,3,a
0.4,0.0,4,b
0.5,0.0,5,b
0.6,0.0,6,b
主文件
import numpy as np
import pandas as pd
import holoviews as hv
import networkx as nx
from holoviews.operation.datashader import datashade, bundle_graph
hv.extension('bokeh')
%opts Nodes Graph [width=800 height=200 xaxis=None yaxis=None]
%opts Graph (node_size=8 edge_line_width=0.5)
colors = ['#000000']+hv.Cycle('Category20').values
edges_df = pd.read_csv('edges.csv')
nodes = hv.Nodes(pd.read_csv('nodes.csv')).sort()
graph = hv.Graph((edges_df, nodes))
graph = graph.redim.range(x=(-0.05, 1.05), y=(-0.05, 1.05)).opts(style=dict(cmap=colors))
bundled = bundle_graph(graph)
bundled
输出
我试图修改这一行:
node_size=[3,4,5,8,3,8]
edge_size=[0.5,0.6,0.8,1.5,0.5]
%opts Graph (node_size=node_size edge_line_width=edge_size)
但是,这是行不通的。
谁能帮我?如何创建不同大小的节点和边?