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

Bu, 'a' ve 'b' düğümleri arasında iki kenar oluşturacaktır. Sadece bir kenara sahip olmanın bir yolu var mı (grup)?GraphViz, aynı kenarları gruplama

+1

İki etiketli bir kenar istiyor musunuz? Başka bir deyişle, neyi istersiniz, a ile b arasındaki bir kenarı belirten tek bir ifadeden daha farklı olurdu? – datageist

+0

Daha fazla kopya varsa kenarı daha kalın hale getirmenin bir yolu olup olmadığını merak ediyorum. Yanıt için – Geremia

cevap

7

Sanırım gerçekten istediğiniz çıktıya bağlı olarak değişir. Bir olasılık: spline kullanmayan

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

düz çizgi segmentleri ile kenarları çeker ve böylece kenarlar görsel ayırt edilmez çoğaltmak için kullanılır.

İdeal çıktınızda, bunun için iki farklı etiket olması nedeniyle tek kenar nasıl görünürdü?

+0

Thx. Gerçekten görsel olarak ayırt edilmez. Etiketlerle onları birleştirmek istiyorum. Büyük olasılıkla dosyayı tekrar yazmalıyım. – name

+2

Haklısınız. Amacınız graphviz'in düğüm/kenar işleme yeteneklerinin ötesine geçiyor ve kopyaları aradığınız forma birleştirmek için bir çeşit ön işlem gerektiriyor. Tabii ki, örnek gibi daha küçük grafikler ile, spline seçeneği ile taklit edebilirsiniz. – RTBarnard

40

"Kesintisiz" anahtar kelimesi size yardımcı olabilir.

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

Bu, kenarları birleştirir. Ama sadece ilk etiketi uygulayacağına inanıyorum.

+1

Crap. Bu sadece son etiketi uygularsa mükemmel olur ... –

+2

Sadece bildirim siparişini geri al ... –