2017-02-01 4 views
0

Я использую Graphviz 0.5.2 в моей питон скрипт, который похож на этотGraphviz - Python: Создание формы узла в двойной эллипс с Graphviz

from graphviz import Digraph 
dot = Digraph() 
dot.node('A', 'King Arthur', shape='ellipse') 
dot.node('B', 'Sir Bedevere the Wise', shape='ellipse') 
dot.node('L', 'Sir Lancelot the Brave', shape='ellipse') 

dot.edges(['AB', 'AL']) 
dot.edge('B', 'L', constraint='false') 
dot.render('test-output/round-table.gv', view=True) 

он делает это:

enter image description here

По умолчанию форма узла представляет собой эллипс/овал, но я хотел бы сделать его двойным эллипсом, существует форма двойного круга, но не эллипс.

Я пробовал peripheries = 2, но я не уверен в правильном месте, чтобы его поместить.

ответ

1

Применить периферию к свойствам узла, например.

graph ethane { 
node[ peripheries=5]; 
    C_0 -- H_0 [type=s]; 
    C_0 -- H_1 [type=s]; 
    C_0 -- H_2 [type=s]; 
    C_0 -- C_1 [type=s]; 
    C_1 -- H_3 [type=s]; 
    C_1 -- H_4 [type=s]; 
    C_1 -- H_5 [type=s]; 
} 

См chart

В питона, если я понимаю примеры

dot.node_attr['peripheries']='5' #whole graph 
n.attr['peripheries']='5' #any single node n 

https://github.com/pygraphviz/pygraphviz/blob/master/examples/star.py

+0

Как я могу использовать его в синтаксисе, что я показал? – Meryem

+0

Это работает отлично! Большое спасибо! – Meryem

+0

, если вы не возражаете, чтобы я снова спросил, как я могу применить его только к одному из узлов, а не ко всем? – Meryem

Смежные вопросы