Html水平线错误graphviz

时间:2016-06-09 23:48:53

标签: graphviz pydot

我需要创建子图群集,其标签与节点的行分隔。

subgraph cluster_0{

   label=< <B>process #1</B> <HR/> >
    node [shape=none]
    t1 [label="label1"]
    t2 [label="label2"]
    t3 [label="label 3"]
    node [shape=box group=a style=filled fillcolor="red;.5:white" height=.2 label = "" ]
    A [ fillcolor="red;0.3:white" ]
    B [fillcolor="red;.9:white"]
    C
     node [shape=none  fillcolor=white]
    t11 [label="label1"]
    t21 [label="label2"]
    t31 [label="label 3"]

    edge[style=invis];
     A->B->C
     t1->t2->t3
     t11->t21->t31





 }

然后我在


语法上出错了。 错误堆栈

pydot.InvocationException: Program terminated with status: 1. stderr follows: Error: syntax error in line 1 
...  <HR/> ...
in label of graph cluster_0

我的graphviz版本是  dot - graphviz版本2.36.0(20140111.2315)

1 个答案:

答案 0 :(得分:1)

在graphviz网站上,名为"Node Shapes"的页面包含类似html标签的语法(大约一半):

对于<HR/>,它说:

rows : row
     | rows row
     | rows <HR/> row

这意味着 <HR/>仅允许在两行之间。行只允许在<TABLE>范围内,所以你必须将所有内容都包装在一个表中,然后它才能正常工作。

根据您希望实现的目标,另一种可能的解决方案可能是使用<U>text</U> 标注标签。