Как определить двойные линии для формы ребер и узлов в точке графика? - PullRequest
25 голосов
/ 03 июня 2011

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

ER Diagram

Ответы [ 2 ]

40 голосов
/ 03 июня 2011

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

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

Я попал туда в конце концов! Извините за «эволюционный» характер этого ответа: -)

Так например

graph G {
    Foo [peripheries=2]
    Foo -- Bar [color="black:white:black"]
}
12 голосов
/ 10 июня 2015

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

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

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

См. Документацию по цвету Graphviz для получения дополнительной информации.

...