在 python 上使用 graphviz 时如何设置节点的大小?

How can I set the sizes of nodes when using graphviz on python?

我现在正在使用 python 2.7 和 graphviz 从我的数据集中绘制类似集群的图。 每个集群都以这种类型表示-->[avg, num] 其中"avg"代表该簇中点的平均值 "num"代表这个簇中的点数

我想创建一个每个节点都有不同大小的图,这取决于 "num" 变量,就像我们可以用 networkx

做的一样
node_sizes = []
for n in nodes:
    node_sizes.append( 100 * n )
g = nx.Graph()
g.add_nodes_from(nodes)
nx.draw_random(g, node_size = node_sizes)

我之所以使用 graphviz 而不是 networkx 是因为我真的不想手动设置节点的位置,而 graphviz 中的 neato 或 circo 之类的引擎非常有用。

感谢所有评论和帮助。 T^T

您可以设置节点大小如下:

import graphviz as gv
g = gv.Graph(format='png')
for i in range(5):
    g.node(str(i), **{'width':str(i), 'height':str(i)})
g.render('example')

产生: