Networkx 在节点旁边显示特征向量中心值
Networkx display eigenvector centrality values next to nodes
我有一个圆形布局 networkx 加权图。我想知道,在计算特征向量中心性值之后,是否有办法在图 的相应节点 旁边显示值 ?
我正在使用 eigenvector centrality numpy function:
centrality = nx.eigenvector_centrality_numpy(G)
print([f"{node} {centrality[node]:0.3f}" for node in centrality])
是的,你可以将nx.eigenvector_centrality_numpy
的结果设置为nx.draw
函数的节点标签,因为nx.eigenvector_centrality_numpy
returns一个像{node: value}
这样的dict图中的节点,等于 nx.draw
标签使用的格式:
import networkx as nx
# Create a random graph
G = nx.gnp_random_graph(20, 0.2)
# Calculate centrality
centrality = nx.eigenvector_centrality_numpy(G)
# Create labels dict with fixed digit format
labels = {
node: '{:.3f}'.format(centrality[node])
for node in centrality
}
# Draw the graph with labels
nx.draw(
G,
with_labels=True,
labels=labels,
node_color='#FF0000'
)
我有一个圆形布局 networkx 加权图。我想知道,在计算特征向量中心性值之后,是否有办法在图 的相应节点 旁边显示值 ?
我正在使用 eigenvector centrality numpy function:
centrality = nx.eigenvector_centrality_numpy(G)
print([f"{node} {centrality[node]:0.3f}" for node in centrality])
是的,你可以将nx.eigenvector_centrality_numpy
的结果设置为nx.draw
函数的节点标签,因为nx.eigenvector_centrality_numpy
returns一个像{node: value}
这样的dict图中的节点,等于 nx.draw
标签使用的格式:
import networkx as nx
# Create a random graph
G = nx.gnp_random_graph(20, 0.2)
# Calculate centrality
centrality = nx.eigenvector_centrality_numpy(G)
# Create labels dict with fixed digit format
labels = {
node: '{:.3f}'.format(centrality[node])
for node in centrality
}
# Draw the graph with labels
nx.draw(
G,
with_labels=True,
labels=labels,
node_color='#FF0000'
)