Python 在NetworkX中将节点属性用作标签

Python 在NetworkX中将节点属性用作标签,python,list-comprehension,networkx,Python,List Comprehension,Networkx,我使用NetworkX来表示一些图形。我的节点是使用ID命名的,但是当我绘制图形时,我希望使用保存在节点属性中的字符串。以下是节点的外观: print( graph.nodes(data=True)[:3], type(graph.nodes(data=True)),) [('#per466', {'NormalizedName-sp': 'Mahlón', 'type': 'person', 'Gender': 'male'}), ('#per95', {'NormalizedName-sp'

我使用NetworkX来表示一些图形。我的节点是使用ID命名的,但是当我绘制图形时,我希望使用保存在节点属性中的字符串。以下是节点的外观:

print( graph.nodes(data=True)[:3], type(graph.nodes(data=True)),)
[('#per466', {'NormalizedName-sp': 'Mahlón', 'type': 'person', 'Gender': 'male'}), ('#per95', {'NormalizedName-sp': 'Isaí', 'type': 'person', 'Gender': 'male'}), ('#per14', {'NormalizedName-sp': 'Dios', 'type': 'person', 'Gender': 'none'})] <class 'list'>
列表理解不起作用,我非常确定有一种更简单的方法可以访问特定属性并将其用作标签。需要帮忙吗,请?

更新!:

好吧,我想起来了:

labels = nx.get_node_attributes(graph,'NormalizedName-sp')
nx.draw_networkx(graph, pos, labels = labels, width = widths, font_size=13, alpha=0.1, edge_color="blue", node_shape=None)
这比列表更容易理解


非常感谢

好的,我算出了:
labels=nx.get_node_属性(图形,'NormalizedName-sp');nx.draw_networkx(图形、位置、标签=标签、宽度=宽度、字体大小=13、alpha=0.1、边颜色=蓝色、节点形状=无)这比列表理解更容易…你应该把它作为“答案”添加到你的问题中,以便将来的用户更容易找到。好的,对不起,我刚刚完成了。谢谢
labels = nx.get_node_attributes(graph,'NormalizedName-sp')
nx.draw_networkx(graph, pos, labels = labels, width = widths, font_size=13, alpha=0.1, edge_color="blue", node_shape=None)