Python NetworkX使用文件中的节点列表值绘制栅格二维图形

Python NetworkX使用文件中的节点列表值绘制栅格二维图形,python,graph,nodes,networkx,Python,Graph,Nodes,Networkx,我正试图从文件中用节点列表值绘制网格2d图 list1 = [(0,0),(0,1),(1,0)] nx.draw_networkx_nodes(G, pos, nodelist=list1, node_color='b') 在上面的语句中,我希望从文件中读取节点列表,而不是手动设置节点列表。该文件将包含应为蓝色的节点列表 我尝试从文件中读取并将检索到的值放入nodelist,但其给定的错误节点“(0,1)”没有位置,因为我可能正在将其存储为字符串 任何人都可以建议如何从文件中读取节点列表值

我正试图从文件中用节点列表值绘制网格2d图

list1 = [(0,0),(0,1),(1,0)] 
nx.draw_networkx_nodes(G, pos, nodelist=list1, node_color='b')
在上面的语句中,我希望从文件中读取节点列表,而不是手动设置节点列表。该文件将包含应为蓝色的节点列表

我尝试从文件中读取并将检索到的值放入nodelist,但其给定的错误节点“(0,1)”没有位置,因为我可能正在将其存储为字符串


任何人都可以建议如何从文件中读取节点列表值

这里是一种将节点颜色存储为节点属性并保存为GraphML格式文件的方法。然后可以读取该文件并将节点和属性解压缩到列表中,以传递给nx.draw()(或nx.draw\u networkx\u nodes())

import matplotlib.pyplot as plt
import networkx as nx
# create graph 
G=nx.Graph()
# with nodes that have attribute "color"
G.add_nodes_from('abc',color='r')
G.add_nodes_from('de',color='b')
G.add_edges_from([('a','b'),('b','d'),('c','e'),('b','e')])
# save/load in graphml format
nx.write_graphml(G,'color_test.graphml')
H=nx.read_graphml('color_test.graphml')
# get nodes and colors as lists from graph attributes
nodes,colors=zip(*nx.get_node_attributes(H,'color').items())
nx.draw(H,nodelist=nodes,node_color=colors)
plt.show()