Как определить двойные линии для форм ребер и узлов в graphviz dot?

как можно стилизовать ребра и узлы с помощью graphviz точка с удвоенными линиями, как показано в узлах "юридический" и "налоговый диск" следующей диаграммы?

ER Diagram

2 ответов


удвоенные формы можно сделать с помощью [peripheries=2] на узле

удвоенные края можно сделать, указав более одного цвета для края, разделенного двоеточием. В этом случае используйте один и тот же цвет дважды:[color="black:black"] (или, чтобы отделить их немного больше, сделайте [color="black:invis:black"])

я добрался туда в конце концов! Извините за "эволюционный" характер этого ответа :-)

например

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

на принято отвечать правильно об использовании peripheries атрибут для нескольких контуров узлов.

однако, используя цвет white рисовать широко разделенные двойные края между узлами не идеально. Если такое ребро нарисовано на небелом фоне или пересекает небелые объекты, будет видна белая линия. Гораздо лучше использовать один из цветов none или invis. Чтобы обновить часть примера из принятого ответ:

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

посмотреть Graphviz color documentation для получения дополнительной информации.