Python 如何基于networkx绘制具有不同边缘宽度的netgraph定向打印?
我想在基于网络的网络可视化中设置不同的边宽度。如何做到这一点? 据我所知,我正在使用netgraph,因为这是唯一一个在两个节点之间显示两个独立箭头的图形包。到目前为止我的代码(Python 如何基于networkx绘制具有不同边缘宽度的netgraph定向打印?,python,matplotlib,networkx,netgraph,Python,Matplotlib,Networkx,Netgraph,我想在基于网络的网络可视化中设置不同的边宽度。如何做到这一点? 据我所知,我正在使用netgraph,因为这是唯一一个在两个节点之间显示两个独立箭头的图形包。到目前为止我的代码(池和进程_权重都是dict): 如何根据我的networkx网络设置不同的边缘宽度?基于,您可以使用关键字参数边缘\u宽度并传递由边缘设置关键帧的dict,使每条边缘具有不同的边缘权重。下面是draw\u edges()函数文档中的一部分,它是从draw函数显式调用的 edge_width : float or dic
池
和进程_权重
都是dict
):
如何根据我的networkx网络设置不同的边缘宽度?基于,您可以使用关键字参数边缘\u宽度
并传递由边缘设置关键帧的dict,使每条边缘具有不同的边缘权重。下面是draw\u edges()
函数文档中的一部分,它是从draw
函数显式调用的
edge_width : float or dict (source, key) : width (default 1.)
Line width of edges.
NOTE: Value is rescaled by BASE_EDGE_WIDTH (1e-2) to work well with layout routines in igraph and networkx.
因此,如果networkx图形网络中有一个名为weight
的边属性,则可以将调用更改为netgraph。如下所示绘制:
netgraph.draw(network, pos_, node_size=50 ,node_color='w', edge_color='k',
edge_width={(u,v):weight for u,v,weight in network.edges(data='weight')})
谢谢你的帮助!如何包含不同大小的节点?您可以将节点键入的字典传递给节点大小
关键字参数。函数文档指向它使用的所有内部函数draw\u edges
,draw\u nodes
,draw\u nodes\u labels
,draw\u edges\u labels
,它们解释了可用于修改图形的可能参数。
netgraph.draw(network, pos_, node_size=50 ,node_color='w', edge_color='k',
edge_width={(u,v):weight for u,v,weight in network.edges(data='weight')})