2009-09-25 35 views
19

我正在使用Graphviz來繪製一些圖。我在節點上使用標籤,我可以放入"\n"以強制它將標籤分成兩行。有沒有辦法讓Graphviz(或我正在使用的dot)自動看到它應該分割一些節點標籤,並讓它自己自動做出最佳選擇?Graphviz中的自動多行標籤?

回答

10

我也搜索過這個,但我不認爲這是可能的當前版本。目前的「解決方案」是編寫代碼,根據節點之間的最小距離(如果我沒有弄錯的話,屬性爲nodesep),每隔幾個字符就會自動添加「\ n」。

+3

您還可以使用類似HTML的標籤(引述'<...>的''而不是「...」'),它不會自動換行,但給出了比佈局的\ n更大的控制權。也許這與對系統圖形庫中呈現的呈現字符串的長度的估計結合起來可能會推斷出在哪裏放置這些中斷? – 2011-02-01 23:54:49

7

是的,類似於HTML的標籤(< ...>)支持
標籤,使用該標籤可以打破線條。例如。

"A" -> "B" 
[label = <1. <br/> 
2. <br/> 
3. <br/> 
4. <br/> 
.... <br/> 
> color="blue" style="dashed"]; 
+3

-1這不回答這個問題。此外它比當前使用的方法更糟糕(兩個字符比五個更好)。 – 2013-10-24 10:48:08

+4

它沒有回答這個問題,但提供了一個很好的解決方法,所以我給這個+1 – Pascal 2016-05-12 09:49:30