1

我正在编写一个 Python 脚本来使用 graphviz 生成网络图。我的一些节点代表注入网络,我想知道是否有可能在一些节点内有一个饼图。

一个简单的两节点网络的 Python 代码如下:

import graphviz as gv

g1 = gv.Graph(format='svg')
g1.node('A')
g1.node('B')
g1.edge('A', 'B')

filename = g1.render(filename='img/g1')
4

1 回答 1

3

我让 PyGraphViz 实现由你决定。但是要回答您问题的核心,从 graphviz 2.30 开始,您可以使用wedged节点样式来达到预期的结果。这是一个普通点的例子:

digraph G {
  {
    node [shape=circle style=wedged fillcolor="red;0.3:green;0.6:orange"]
    A
    node [style=solid fillcolor="white" ]
    B
    C
  }

B -> A
B -> C
}

点饼图节点

颜色列表表示为冒号分隔的列表。给定颜色权重中**分号*后的值。所有权重之和必须等于 1.0。查看colorList 属性

于 2015-02-23T10:57:05.593 回答