【问题标题】:Python: get the degree of all nodes, then draw a boxplot in networkxPython:获取所有节点的度数,然后在networkx中绘制箱线图
【发布时间】:2018-08-16 11:56:05
【问题描述】:

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

但是箱线图没有显示,下面有错误:

"degree_values = list(my_degrees.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)

【问题讨论】:

    标签: python nodes networkx boxplot


    【解决方案1】:

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

    尝试使用定义degree_values

    degree_values = [v for k, v in my_degrees]

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

    degree_values = dict(my_degrees).values()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2017-11-25
      相关资源
      最近更新 更多