Python:获取所有节点的度数,然后在networkx中绘制一个boxplot

2024-10-03 23:29:58 发布

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

我有一个作业需要调用Networkx的函数来获得所有节点的度数,然后为这些度数绘制一个框线图。在

但箱线图未显示,并出现以下错误: “degree_values=列表(我的_度.值())

AttributeError:“DegreeView”对象没有属性“values”

如何解决这个问题? 谢谢。在

import networkx as nx
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from([['9606.EN01','9606.EN02'],['9606.EN01','9606.EN03']])

fig = plt.figure();
nx.draw(G, with_labels=True, font_weight='bold')
plt.draw()

my_degrees = G.degree();
degree_values = list(my_degrees.values());
fig = plt.figure();
plt.boxplot(degree_values)

Tags: importmyas作业figpltfigurevalues
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:58

DegreeView不是字典(在networkx2.1中),但它是(节点、度)对上的迭代器。在

尝试使用定义degree_values

degree_values = [v for k, v in my_degrees]

或者,如果degree_values的顺序无关紧要,则可以使用

degree_values = dict(my_degrees).values()

相关问题 更多 >