【发布时间】:2014-03-16 20:43:35
【问题描述】:
我正在使用 networkx 绘制大图,当图很大时我遇到了问题。对于小图,一切正常,但对于大图(1k 个节点),它似乎无法分配颜色和大小。 这是有问题的代码段
H=nx.connected_component_subgraphs(G)[0]
d=nx.degree(H)
b=nx.eigenvector_centrality(H)
pos2=nx.spring_layout(H,scale=2)
labels={}
colors={}
dim={}
for n in H.nodes():
i=0
for v in b:
if v==n:
break
i+=1
colors[n]=b.values()[i]
j=0
for w in d:
if w==n:
break
j+=1
dim[n]=d.values()[j]*40
k=0
for z in range(2):
if n in sorted(b.items(), key=lambda x:x[1],reverse=True)[z]:
labels[n]=n
nx.draw(H,
pos2,
with_labels=False,
node_size=dim.values(),
node_color=colors.values(),
cmap=plt.cm.Reds,
vmin=min(b.values()),
vmax=max(b.values())
)
我无法发布图片,因为我没有足够的声誉,但是当我说它失败时,我的意思是(某些)连接性低的节点比连接性高的节点大,颜色也是如此。
知道发生了什么吗?
【问题讨论】:
-
把它们放在某个地方并包含一个链接。高级用户并将其编辑到您的帖子中。
-
SO 似乎不喜欢下拉框链接.....
-
我认为您的问题是您正在传递
node_size和node_color的列表,请尝试仅传递字典。
标签: colors matplotlib size networkx