NetworkX cmap对节点colou没有任何影响

2024-04-26 09:52:07 发布

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

我试图用networkx来可视化节点网络中的社区,代码在检测社区方面工作得很好,但是它是灰色的。当cmap参数与nodelist和node_color参数一起使用时,我无法使cmap参数对输出网络产生任何影响。在

电流输出:https://i.imgur.com/0uf2DEt.png

import networkx as nx
import matplotlib.pyplot as plt
import community

g=nx.read_edgelist('communities.txt',create_using=nx.Graph(),nodetype=int)

partition = community.best_partition(g)

print nx.info(g)

size = float(len(set(partition.values())))
print "Communities: " + str(size)

sp=nx.spring_layout(g)
plt.axis('off')

count = 0
for group in set(partition.values()) :
    count += 1
    list_nodes = [nodes for nodes in partition.keys() if partition[nodes] == group]
    nx.draw_networkx_nodes(g, pos=sp,
        nodelist=list_nodes,
        with_labels=False,
        node_size=30,
        node_color = str(count/size),
        cmap=plt.get_cmap('RdYlBu'))


nx.draw_networkx_edges(g, sp, alpha=0.3)
plt.show(g)

Tags: import网络networkxnode参数sizecountplt
1条回答
网友
1楼 · 发布于 2024-04-26 09:52:07

要使cmap选项工作,node_color必须是浮点数的列表,而不是字符串。另外,必须提供vminvmax选项。使用cmapvminvmax参数将数值映射到颜色。(请参见help(nx.draw_networkx_nodes)。)

相关问题 更多 >