2013-03-19 77 views
6

我試圖使用graphviz的自定義圖像節點graphviz的節點(節點d):使用PNG或SVG圖像爲

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]; 
} 

不幸的是,圖像不會出現:

enter image description here

我編譯使用點文件:

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

我的代碼,inclu dng png圖片,is stored in github

如何在我的自定義圖像上使用替換節點d

回答

6

只需限定其它形狀此節點,例如shape=none

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

定義爲默認不顯示圖像的record形狀,而nonebox甚至plaintext做。

同時,將標籤設置爲無效可能是一個好主意。

+1

作品,謝謝! https://github.com/adamatan/graphviz_linked_list/blob/master/list.png – 2013-03-19 14:59:37