使用 Python Graphviz 包设置自定义节点颜色

Set custom node color using Python Graphviz package

graphviz Python 包允许将节点的颜色设置为字符串参数。

from graphviz import Digraph

g = Digraph('example_graph')
g.node('Test Node', color='green')

我想指定一种使用精确数字编码(例如 RGB 或十六进制代码)的颜色。如果我尝试以下

from graphviz import Digraph

g = Digraph('example_graph')
g.node('Test Node', color=(50, 50, 50))

我收到错误:

TypeError: expected string or bytes-like object

同样,我尝试将元组设置为字符串:

from graphviz import Digraph

g = Digraph('example_graph')
g.node('Test Node', color='(50, 50, 50)')

导致此警告,图表似乎默认为黑色。

Warning: (50, 50, 50) is not a known color.

我不清楚允许哪些可能的参数,并且 searching the documents for 'color' 除了简单的命名颜色之外没有透露任何示例。

使用 graphviz Python 包是否可行,或者它是否可以只选择一小部分命名颜色?

我对他们的文档提出了 Github issue with the package maintainers. They were kind enough to add a colors.py example

他们使用 RGB 的示例中的一种方法如下。

import graphviz

g = graphviz.Graph('colors')

g.node('RGB: #40e0d0', style='filled', fillcolor='#40e0d0')

g.view()