32

如何使用带有双线的graphviz dot来设置边和节点的样式,如下图的“LEGAL”和“TAX DISC”节点所示?

ER图

4

3 回答 3

50

可以通过[peripheries=2]在节点上使用来完成双重形状

可以通过为边缘指定一种以上的颜色来实现双重边缘,用冒号分隔。在这种情况下,使用相同的颜色两次:([color="black:black"]或者,将它们稍微分开,做[color="black:invis:black"]

我终于到了!对不起这个答案的“进化”性质:-)

所以例如

graph G {
    Foo [peripheries=2]
    Foo -- Bar [color="black:white:black"]
}
于 2011-06-02T20:24:23.313 回答
16

关于将属性用于多个节点轮廓,公认的答案是正确的。peripheries

但是,使用颜色white在节点之间绘制分离得很宽的双边并不理想。如果这样的边缘绘制在非白色背景上或穿过非白色对象,则会出现一条白线。最好使用其中一种颜色noneinvis。要从接受的答案更新部分示例:

graph G {
    Foo [peripheries = 2]
    Foo -- Bar [color = "black:invis:black"]
}

有关更多信息,请参阅Graphviz 颜色文档

于 2015-06-10T14:40:09.660 回答
0

(请参阅有关正常边和节点的其他答案)

三色解决方案不适用于带有 的有向边dir="back"

digraph A {
    foo -> bar [dir = "back", color = "black:invis:black"];
}

导致此输出:

在此处输入图像描述

invis我试着用外面的层包裹它。由于边缘宽度增加,与普通箭头相比看起来有点奇怪,但至少读者可以理解:

digraph A {
    foo -> bar [dir = "back", color = "invis:black:invis:black:invis"];
}

在此处输入图像描述

但是,这不适用于前缘。

于 2019-09-09T04:04:29.583 回答