绘制Networkx的整数输出

时间:2015-12-15 13:43:10

标签: python matplotlib networkx

我从集合中导入了计数器,networkx(作为nx)和matplotlib(作为plt)。我已经在我制作的图表中获取了每个节点的度数。但是我想绘制度数与度数的关系。 我的尝试如下:

deg=list(G.degree().values())# set the degree for each node
for i in deg:# iterate this list
    count=Counter(i)#count the frequency of the nodes
    plt.plot(count, i)#plot frequency vs degree

但是我一直收到错误:

TypeError: 'int' object is not iterable

所以我想知道我的输入是否正确,以及我的逻辑是否正确,因为我不确定这些频率是否会链接到它们的衍生度和绘图的程度正确地反对他们。

2 个答案:

答案 0 :(得分:2)

您可能想尝试计算所需数据的networkx.degree_histogram。它对图G的作用是

degseq = list(d for n, d in G.degree())
dmax = max(degseq) + 1
freq = [ 0 for d in range(dmax) ]
for d in degseq:
    freq[d] += 1

答案 1 :(得分:0)

您正在div { height: 100px; width: 100px; border: 2px solid gray; float: left; margin: 10px; padding: 10px; } .display { display: none } .hidden { visibility: hidden } .invisible { visibility: hidden; height: 0px; width: 0px; margin: 0px; padding: 0px; } .show { visibility: visible; display: block; } <div id="test">0</div> <div id="test1">1</div> <button onclick="addClass('display')">Display</button> <button onclick="addClass('hidden')">Hidden</button> <button onclick="addClass('invisible')">Invisible</button> <button onclick="addClass('show')">Show</button> i上重复list,这很好,但是这一行

int

没有意义,你计算count=Counter(i)#count the frequency of the nodes ,这是一个整数。你可能想做什么(假设这是i),是

collections.Counter

这会计算count = Counter(deg) 中的所有出现次数。