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

标签 python nodes networkx boxplot

我有一个作业需要调用Networkx的函数来获取所有节点的度数,然后为这些度数绘制一个箱线图。
但是箱线图没有显示并且有以下错误:

"degree_values = list(my_degrees.values());

AttributeError: 'DegreeView' object has no attribute '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)

最佳答案

DegreeView不是字典(在 NetworkX 2.1 中),但它是(节点,度数)对的迭代器。

尝试定义 degree_values使用
degree_values = [v for k, v in my_degrees]
或者,如果 degree_values 的顺序没关系,你可以用
degree_values = dict(my_degrees).values()

关于Python:获取所有节点的度数,然后在networkx中绘制boxplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49167874/

相关文章:

python - 对数据框中的值进行排序

python - 我应该学习/使用 MapReduce 或其他类型的并行化来完成这项任务吗?

javascript - 如何使用 JavaScript 获取 HTML 节点对象而不是 HTML 本身

javascript - Vis.js 如何仅显示所选节点的子节点/后代?

python - NetworkX:检查两个图是否具有相同的形状和相同的节点属性

python - 如何将参数从鼠标事件传递到函数?

python - 读取连接到 HA7E 的 1 线设备的温度

javascript - Node js 404 和 Angular url 刷新冲突

javafx - 修改 JavaFX 中的子节点

ipython - NetworkX:如何用tex符号绘制标签节点/边?