Graphviz-有没有办法避免属性中的长文本字符串?

时间:2019-05-21 00:52:02

标签: graphviz dot

我正在尝试使用Graphviz绘制Java 8中与并发相关类型的完整UML图。 当尝试绘制java.lang.Thread中构造函数的所有8个变化形式时,我将不得不写一长行文本以便输入构造函数方法所有签名的描述。您可以在下面的点代码中看到“ label”属性变得很长,但是我甚至还没有完成对所有构造函数的描述!

        Thread [
              shape="record"
              label="{Thread | + Thread() \l+ Thread(target : Runnable) \l+ Thread(target : Runnable, name : String)}" 
]

是否有更优雅的方法可以做到这一点,例如使用变量或点语的其他功能?

1 个答案:

答案 0 :(得分:0)

在点语中,您可以在引号之间添加新行以避免长行,或者可以使用串联字符串: 例如(在第一个\ l之后换行,第二个之后串联)

    Thread [
          shape="record"
          label="{Thread | + Thread() \l
                + Thread(target : Runnable) \l" + 
                "+ Thread(target : Runnable, name : String)}" 
    ]

注意:已在http://viz-js.com/

上进行了测试