Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Louvain算法和NetworkX为每个节点社区着色/将结果保存到新的txt中_Python_Pandas_Graph_Networkx - Fatal编程技术网

Python 使用Louvain算法和NetworkX为每个节点社区着色/将结果保存到新的txt中

Python 使用Louvain算法和NetworkX为每个节点社区着色/将结果保存到新的txt中,python,pandas,graph,networkx,Python,Pandas,Graph,Networkx,我正在使用下面的Louvain算法进行社区检测,使用我手动插入的图形。 我这里有两个问题。第一个是关于节点的颜色。正如您在下面看到的,每个节点社区的颜色有点暗或白,不清楚哪些是确切的社区 那么,哪种方法可以将每个节点社区绘制成更亮的颜色? 还有我的最后一个问题,在社区检测完成后,有没有办法将结果保存到一个新的.txt文件中? partition = community.best_partition(G) values = [partition.get(node) for nod

我正在使用下面的Louvain算法进行社区检测,使用我手动插入的图形。 我这里有两个问题。第一个是关于节点的颜色。正如您在下面看到的,每个节点社区的颜色有点暗或白,不清楚哪些是确切的社区

那么,哪种方法可以将每个节点社区绘制成更亮的颜色?

还有我的最后一个问题,在社区检测完成后,有没有办法将结果保存到一个新的.txt文件中?

    partition = community.best_partition(G)
    values = [partition.get(node) for node in G.nodes()]

    #drawing
    size = float(len(set(partition.values())))
    posi = nx.spring_layout(G)
    count = 0
    for com in set(partition.values()):
        count = count + 1.
        list_nodes = [nodes for nodes in partition.keys()
                        if partition[nodes] == com]
        nx.draw_networkx_nodes(G, posi, list_nodes,  node_size = 25, node_color=str(count/size))

        #nx.draw_spring(G, cmap = plt.get_cmap('hsv'), node_color = values, node_size=30, with_labels=False)

    nx.draw_networkx_edges(G, posi, alpha=0.5)
    plt.show()

您可以使用的
cmap
参数,该参数允许您指定任何。参见或举例说明

最小工作着色示例:

将networkx导入为nx
将matplotlib.pylab作为pl导入
graph=nx.空手道俱乐部图()
颜色=[]
对于图形中的节点:
如果graph.nodes[node][“club”]==“你好先生”:
颜色。追加(0)
其他:
颜色。附加(1)
颜色[0]=-1
颜色[-1]=2
nx.draw_networkx(图,节点颜色=颜色,vmin=最小(颜色),vmax=最大(颜色),cmap=pl.get_cmap(“绿色”))
损益轴(“关闭”)
pl.show()
要保存图形,您可以选择合适的图形格式,例如。然后,首先需要将分区作为节点属性添加到图形中:

for node in partition:
    G.nodes[node]["cluster"] = partition[node]
# save file
nx.write_gml(G, "path_to_save_file")
# load file
saved_graph = nx.read_gml("path_to_save_file")

然后将图形与分区一起保存。或者,您只能通过将检索到的分区保存为或(不安全)。

请在我上面发布的代码中告诉我您的想法,好吗?我已经为空手道俱乐部图添加了颜色。很遗憾,你的代码不是一个好代码。所以我不能用你的例子来测试。