我正在使用NetworkX制作图形,以便导出并在Gephi中进行可视化。我已经为我的图形中的节点添加了各种属性,没有问题,直到我尝试添加颜色。有人知道如何使用networkx导出带有“彩色”节点的图形吗?(我一直在写入gexf文件,但只要与Gephi兼容,我就不在意它是另一种格式。)
以下是我创建图形的代码:
以下是我创建图形的代码:
def construct_weighted_graph(nodes, distance_dict, weighting_function, color = True):
G = nx.Graph()
#nodes automatically added when edges added.
for sequence in nodes: #loop through and add size attribute for num of sequences
G.add_node(sequence)
G.node[sequence]['size'] = distance_dict[sequence][1] #size represented by the node
if color:
G.node[sequence]['color'] = (0,1,0)
for i_node1 in range(len(nodes)):
dist_list = distance_dict[nodes[i_node1]][-2] #list of distances
for i_node2 in range(i_node1+1, len(nodes)):
G.add_edge(nodes[i_node1], nodes[i_node2],
weight = weighting_function(dist_list[i_node2]))
return G
这并不是我所说的颜色,因为不同的节点被分配了不同的颜色,但这是基本思路。