graphviz:带有粗体标题的记录节点

时间:2011-05-30 00:28:17

标签: uml record graphviz dot

我正在尝试使用graphviz来执行类似于UML类图的操作。

我想知道是否有办法让风格'register'的节点以粗体字显示第一个字段,使其与其他字段不同。

我的节点如下所示:

digraph i { 
  "node" [
    label = "<f0> title | <f1> index | ... | <f2> field1 | <f3> field2"
    shape = "record"
  ];  
}

我试过这个,但它不起作用:(嵌入html)

digraph i { 
  "node" [
    label = "<f0> <B>title</B> | <f1> index | ... | <f2> field1 | <f3> field2"
    shape = "record"
  ];  
}

1 个答案:

答案 0 :(得分:15)

我不认为基于记录的节点允许HTML格式化。 node shape documentation表明基于记录的节点已被弃用,支持使用带有HTML-like label的非形状节点,这对于格式化更加灵活。这些标签被&lt;&gt;包围。而不是双引号。

我无法对此进行测试,但这与你想要的很接近:

digraph i { 
  "node" [
    label =<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0">
                    <TR><TD PORT="f0"><B>title</B></TD></TR>
                    <TR><TD PORT="f1">index</TD></TR>
                    <TR><TD PORT="f2">field1</TD></TR>
                    <TR><TD PORT="f3">field2</TD></TR>
                </TABLE>>
    shape = "none"
  ];  
}

输出:

enter image description here