小编Mar*_*rie的帖子

使用标签显示networkx图

我正在尝试使用networkx创建带标签的图形,但是无法正确地获取节点和标签.简而言之,标签不会排列在右侧节点上,并且有些节点在显示时没有边缘.

首先,我创建了一个图形,添加了节点和边,然后添加了标签.

图形数据来自pandas DataFrame对象,其中包含两个列:employee和manager名称:

                emp_name             mgr_name
0        Marianne Becker                 None
1            Evan Abbott      Marianne Becker
2               Jay Page      Marianne Becker
3             Seth Reese      Marianne Becker
4         Maxine Collier      Marianne Becker
Run Code Online (Sandbox Code Playgroud)

...

每个节点都是名称,边是mgr_name到emp_name的关系.

我的图代码:

import networkx as nx
G=nx.DiGraph()

#set layout
pos=nx.spring_layout(G)

#add nodes
G.add_nodes_from(df.emp_name)
G.nodes()
G.add_node('None')

#create tuples for edges
subset = df[['mgr_name','emp_name']]
tuples = [tuple(x) for x in subset.values]

#add edges
G.add_edges_from(tuples)
G.number_of_edges()

#draw graph
import matplotlib.pyplot as plt
nx.draw(G, labels = True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会有一个树状结构,员工姓名作为每个节点的标签.

输出图像是 在此输入图像描述

python networkx

10
推荐指数
1
解决办法
6088
查看次数

标签 统计

networkx ×1

python ×1