在 pyGraphViz 中设置节点的颜色

Setting colour of nodes in pyGraphViz

网站上给出了这个例子,但是没有提到如何使用字典设置颜色。

import pygraphviz as pgv
d={'1': {'2': None}, '2': {'1': None, '3': None}, '3': {'2': None}}
A=pgv.AGraph(d)

你应该在通过 AGraph 初始化后使用 get_node 吗?

发现您应该有效地使用 get_node() 并传递 id 来查找节点。还发现需要将图形的样式设置为填充,否则看不到填充颜色。

import pygraphviz as pgv
from PIL import Image

d={'1': {'2': None}, '2': {'1': None, '3': None}, '3': {'2': None}}
A=pgv.AGraph(d)
A.node_attr['style']='filled'
n = A.get_node('1')
n.attr['fillcolor']="#CCCCFF"
n.attr['label'] = 'MY LOVELY LABEL'
A.layout() # default to neato
A.layout(prog='dot') # use dot
A.draw('file.png')
img = Image.open('file.png')
img.show()