问题 Graphviz:仅为基于记录的节点中的字段着色


有没有办法只将颜色添加到基于记录的节点中的字段。如下例所示,字段struct2:f0可以单独使用不同的颜色吗?

digraph structs {
node [shape=record];
struct1 [label="<f0> left|<f1> mid\ dle|<f2> right"];
struct2 [label="<f0> one|<f1> two"];
struct3 [label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
struct1:f1 -> struct2:f0;
struct1:f2 -> struct3:here;
}

谢谢


3192
2018-01-25 20:20


起源



答案:


我不认为这是可能的。

你可以考虑使用 类似HTML的标签  - 您应该可以使用基于记录的节点执行所有操作,等等。

从上面链接的文档页面:

基于记录的形状在很大程度上已被取代   由类似HTML的标签推广。也就是说,而不是使用    shape=record,人们可能会考虑使用 shape=none 和HTML一样   标签。

虽然HTML标签严格来说不是形状,但它们可以是   被视为上述记录形状的概括。在   特别是,如果节点已将其shape属性设置为 none 要么    plaintext,HTML标签将是节点的形状。


9
2018-01-25 21:02



这种方法的缺点是这是90年代的HTML,带有字体标签和表格属性。第二个缺点是你需要使用colspan / rowspan来分配你的记录单元格。但我不认为有另一种选择:-( - Wouter Lievens
是的,它是90年代的HTML,我们的下意识反应是鄙视它。但这是出于不同的目的。为此,它是现代的Graphviz。 - SSteve


答案:


我不认为这是可能的。

你可以考虑使用 类似HTML的标签  - 您应该可以使用基于记录的节点执行所有操作,等等。

从上面链接的文档页面:

基于记录的形状在很大程度上已被取代   由类似HTML的标签推广。也就是说,而不是使用    shape=record,人们可能会考虑使用 shape=none 和HTML一样   标签。

虽然HTML标签严格来说不是形状,但它们可以是   被视为上述记录形状的概括。在   特别是,如果节点已将其shape属性设置为 none 要么    plaintext,HTML标签将是节点的形状。


9
2018-01-25 21:02



这种方法的缺点是这是90年代的HTML,带有字体标签和表格属性。第二个缺点是你需要使用colspan / rowspan来分配你的记录单元格。但我不认为有另一种选择:-( - Wouter Lievens
是的,它是90年代的HTML,我们的下意识反应是鄙视它。但这是出于不同的目的。为此,它是现代的Graphviz。 - SSteve


尝试这个:

  digraph G {
    "Record" [ label=<<table>
                          <tr>
                              <td>A</td>
                              <td bgcolor='#00CC11'>B</td>
                          </tr>
                       </table> 
                      >
             ];
  }

4
2018-01-25 21:11