2013-03-19 13 views
6

Próbowałem użyć węzła niestandardowego obrazu w graphviz (węzeł d):Korzystanie PNG lub svg obraz jako węzła graphviz

digraph foo { 
    rankdir=LR; 
    node [shape=record]; 
    a [label="{ <data> 12 | <ref> }", width=1.2] 
    b [label="{ <data> 99 | <ref> }"]; 
    c [label="{ <data> 37 | <ref> }"]; 
    d [image="X_Shape_Pillar_Yellow.png"]; 
    a:ref:c -> b:data [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false, arrowsize=1.2]; 
    b:ref:c -> c:data [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false]; 
    c:ref:c -> d  [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false]; 
} 

Niestety, obraz nie pojawia się:

enter image description here

mam skompilowany plik dot używając:

dot -v -Tpng list.dot -o list.png 

moim kodu inclu ding obrazu png, is stored in github.

Jak używać zastępczego węzła d z niestandardowym obrazem?

Odpowiedz

6

Wystarczy zdefiniować inny kształt dla tego węzła, na przykład shape=none:

d [shape=none, label="", image="X_Shape_Pillar_Yellow.png"]; 

Kształt record zdefiniowane domyślnie nie wyświetla obrazu, natomiast none, box a nawet plaintext zrobić.

W tym samym czasie dobrze jest ustawić etykietę na nic.

+1

Działa, dzięki! https://github.com/adamatan/graphviz_linked_list/blob/master/list.png –

Powiązane problemy