我想显示一个图表,其中包含我所拥有的每组节点的两种不同颜色。
我尝试定义一个函数,将每个节点的颜色分配给列表中的节点,但是python似乎无法识别我的列表中的一个,因此最终以相同的颜色打印了所有节点。我觉得我缺少一些非常基本的东西,但是我看不到。
编辑:Nodelist1本质上是代表两个节点之间路径的一系列节点序列。 Nodelist1中的所有数字都在Graph.nodes()
中Nodelist1=[1,2,7,9,13]
def nodecolor():
for n in Graph.nodes():
if n in list(NodeList1):
node_color='red'
else:
node_color='blue'
return node_color
nx.draw_networkx(Graph, node_color=nodecolor(), edge_color='red' )
理想情况下,这应该绘制一个显示两种不同颜色的图形。但是它只显示蓝色。
答案 0 :(得分:0)
例如,您似乎正在为node_color
变量分配一个字符串,而不是列表。由于nodecolor()
函数返回单个字符串,因此draw_networkx
接收到一种用于绘制图形的颜色。
如果您查看文档here,则可以看到可以向node_color
的{{1}}参数输入字符串序列,尽管序列的长度应等于列表的长度节点。
尽管我对您所使用的特定库没有经验,但我相信对函数draw_networkx
进行如下修改是可行的。
nodecolor()