2010-02-24 124 views
20
digraph G { 
    a -> b [ label = "foo" ]; 
    a -> b [ label = "bar" ]; 
} 

這將在'a'和'b'節點之間創建兩條邊。有沒有辦法只有一個邊緣(他們組)?GraphViz,分組相同的邊緣

+1

你想要一個邊有兩個標籤嗎?換句話說,你想要什麼不同於只有一條語句指定a和b之間的一條邊? – datageist 2010-02-24 08:20:33

+0

我不知道是否有辦法讓邊緣變得更粗,如果它有更多的重複。 – Geremia 2016-03-19 05:04:35

回答

7

我認爲這取決於你想要的輸出是什麼。一種可能性是:如果不使用花鍵

digraph G { 
    graph [ splines = false ] 
    a -> b [ label = "foo" ]; 
    a -> b [ label = "bar" ]; 
} 

繪製邊緣與直線段等重複的邊緣,不會在視覺上區分。

在你的理想輸出,會是什麼單邊的樣子,因爲有是兩個不同的標籤呢?

+0

Thx爲答案。它真的在視覺上沒有區別。有了標籤,我想將它們連接起來。我可能不得不再次修改文件。 – name 2010-02-24 08:38:26

+2

你是對的。您的目標超出了graphviz的節點/邊緣處理能力,並且需要某種預處理來將重複項合併到您要查找的表單中。當然,對於像這個例子那樣的小圖,你可以用樣條線選項來僞造它。 – RTBarnard 2010-02-24 08:45:21

40

「strict」關鍵字可能對您有所幫助。

strict digraph G { 
    a -> b [ label = "foo" ]; 
    a -> b [ label = "bar" ]; 
} 

這將結合邊緣。但我相信它只會應用第一個標籤。

+1

垃圾。這將是完美的,如果它只是應用最後的標籤... – 2013-08-23 17:39:11

+2

只是顛倒聲明順序... – 2014-10-09 13:56:15