【问题标题】:Horizontal line in ellipse椭圆中的水平线
【发布时间】:2019-09-26 09:51:15
【问题描述】:

我想在我的用例中使用 graphviz,有没有一种简单的方法可以在椭圆形中获得一条水平线?

图片供参考:


(来源:highscore.de

如果我使用

digraph G { Case [ label = "{Use-Case C | Extension points \l blablabla}" shape = "record" ] }

我得到一个带有水平线的正方形,但是一旦我从记录变为椭圆,标签就会显示文本“{Use-Case C | Extension points \l blablabla}”

【问题讨论】:

    标签: graphviz use-case


    【解决方案1】:

    其实ellipserecord是不同类型的节点。按照惯例,记录中的垂直条用作水平线。这样画椭圆是不可能的。

    但这里有一个解决方法。

    根据另一个question about horizontal lines,您可以在使用表格时尝试 HTML 标签。他们不会给你你想要的东西。尽管如此,还是可以画出这样的标签:

    digraph structs {
      node [shape=ellipse]
      A [label=<
        <TABLE BORDER="0" CELLSPACING="0">
          <TR><TD>top</TD></TR>
          <HR/>
          <TR><TD>bottom</TD></TR>
        </TABLE>
      >];
      B [label="Hello, Graphviz"];
      A -> B;
    }
    

    而结果看起来像:

    最后,你可以试试creating your custom shape

    【讨论】: