在 DOT graphviz 中给每个楔形一个不同的标签 style=wedged

give each wedge a different label in style=wedged in DOT graphviz

如果有一种方法可以用 style=wedged 为圆中的每个楔形指定不同的标签,我无法弄清楚查看 Graphviz 文档。例如下面的节点用三种颜色绘制了一个分成 3 个楔形的圆。

nodepie  [shape = "circle" style = "wedged" fillcolor = "green:red:yellow"];

我想在每个楔子上放置不同的数字。 有人可以帮忙吗?

感谢您的帮助。

抱歉,我认为这是不可能的;我以前试过。即使使用 html 标签的奇怪组合,我也无法获得令人满意的结果。 label 文档中甚至没有暗示实现此目的的方法。

抱歉,我没有更积极的答案给你,但在这种情况下,我认为它是 "no." 如你所见,对齐是一团糟;如果馅饼有四个楔子并且 html 标签可以叠加在顶部,两行两列,它 可能 是可行的。但是只有三个,很难想象一个会令人高兴的布局:

digraph x{
nodepie  [shape = "circle" style = "wedged" fillcolor = "green:red:yellow" 
label=< <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="f0">one</TD><TD>two</TD></TR> </TABLE>>];
}

三个楔块(大小大致相同)的解决方法;

digraph x{
nodepie  [shape = "circle" style = "wedged" fillcolor = "green:red:yellow" 
label=< 
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"> 
<TR>
<TD PORT="f0" ROWSPAN="2">one</TD>
<TD ROWSPAN="2">&nbsp;</TD>
<TD>two</TD>
</TR> 
<TR>
<TD PORT="f0">tree</TD>
</TR> 
</TABLE>
>];
}

如果您使用与 WEDGE 相同的颜色创建 html-table 元素,您可以将标签放在饼图旁边。

digraph structs {

p01 [shape = none
label = <<table border="0" cellspacing="0">
<tr><td bgcolor="blue">P01</td></tr>
<tr><td bgcolor="red">P02</td></tr>
<tr><td bgcolor="yellow">P03</td></tr>
<tr><td bgcolor="green">P04</td></tr>
</table>
>
]
node [shape=circle];
pie [label="wedged" style=wedged color=none
fillcolor="blue;0.4:red;0.1:yellow;0.2:green" fontcolor=pink  ]  
}