2013-10-09 85 views
22

在我的Graphviz圖形(用DOT編寫)中,我希望每個節點都有一個標籤,但除此之外,我希望一些節點有一個小標題表示該節點的一些其他獨特值。例如,如果這是一個歷史圖,那麼一個節點的標籤可能就像「喬治華盛頓的誕生」,標題可能是「另見:美國革命」。Graphviz:在標籤上添加標題除了標籤

這是相當靈活的,所以標題並不一定需要是節點內,但我確實需要把文本顯然不是標籤的一部分(例如一些其他的方式是不同的大小,可能一種不同的顏色),並且位於不同的位置,但顯然仍然是節點的一部分。

有沒有辦法做到這一點?

回答

35

要放置字幕的節點之外,你可以使用xlabel

digraph g { 
    forcelabels=true; 
    a [label="Birth of George Washington", xlabel="See also: American Revolution"]; 
    b [label="Main label", xlabel="Additional caption"]; 
    a-> b; 
} 

forcelabels=true確保省略不xlabel。

xlabel for nodes example


的第二個選擇是使用HTML-like labels

digraph g { 
    a[label=<Birth of George Washington<BR /> 
     <FONT POINT-SIZE="10">See also: American Revolution</FONT>>]; 
} 

html like labels example

+0

我把這個網頁上,並與在HTML圖像映射覆蓋該如此該節點可以點擊並重定向到URL。我發現使用< and >這個第二種方法來包含名稱會導致圖像映射爲該元素創建一個標題,然後當您將鼠標移動到該節點上單擊時,會出現一個帶有原始HTML的文本框,就像br標籤一樣。但是,如果我放置引號,則會將字體標籤等顯示爲節點名稱的一部分,而不是像我想要的那樣放置標題。有沒有辦法阻止該標題被創建? –

+1

在graphviz 2.28之後實現了xlabels,它仍然安裝在較老的linux機器上。所以如果你有這個問題,那麼這是首先要檢查的問題之一。 –

+0

A.Duff說:我把它放在一個網頁上,並在HTML中疊加一個圖像映射,以便節點可以點擊並重定向到URL。我的筆記:我爲此創建了一個SVG輸出格式圖像。我可以將SVG圖像用作具有可點擊節點的網頁,以下載軟件版本和可點擊的鏈接到發佈之間添加的功能的故障單。 SVG似乎是直接包含graphviz本身嵌入圖像中的URL鏈接的唯一圖像格式。 – user3070485