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

यह 'ए' और 'बी' नोड्स के बीच दो किनारों का निर्माण करेगा। क्या केवल एक किनारे (समूह उन्हें) रखने का कोई तरीका है?ग्राफ़विज़, एक ही किनारों को समूहीकृत करना

+1

क्या आप एक किनारे को दो लेबल के साथ चाहते हैं? दूसरे शब्दों में, आप क्या चाहते हैं कि केवल एक कथन होने से अलग होगा जो ए और बी के बीच एक किनारे निर्दिष्ट करता है? – datageist

+0

मुझे आश्चर्य है कि किनारे को मोटा बनाने का कोई तरीका है यदि इसके अधिक डुप्लिकेट हैं। उत्तर के लिए – Geremia

उत्तर

7

मुझे लगता है कि यह वास्तव में अपने वांछित उत्पादन होगा क्या पर निर्भर करता है। एक संभावना यह है:

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

कहाँ splines का उपयोग नहीं सीधी रेखा घटकों के साथ किनारों खींचता है और इसलिए नकल किनारों नेत्रहीन प्रतिष्ठित नहीं किया जाएगा।

अपने आदर्श उत्पादन में, क्या एकल बढ़त की तरह के बाद से इसके लिए दो अलग-अलग लेबल हो रहे हैं देखने के लिए चाहते हैं?

+0

Thx। यह वास्तव में दृष्टि से प्रतिष्ठित नहीं है। लेबल के साथ मैं उन्हें जोड़ना चाहता हूं। मुझे शायद फाइल को संशोधनों के साथ फिर से लिखना होगा। – name

+2

आप सही हैं। आपका उद्देश्य ग्राफ़विज़ की नोड/एज प्रोसेसिंग क्षमताओं से परे है और आपको जिस फ़ॉर्म को ढूंढ रहे हैं, उसमें डुप्लीकेट को मर्ज करने के लिए कुछ प्रकार की प्री-प्रोसेसिंग की आवश्यकता होती है। बेशक, उदाहरण के जैसे छोटे ग्राफ के साथ, आप इसे splines विकल्प के साथ नकली सॉर्ट कर सकते हैं। – RTBarnard

40

"सख्त" कीवर्ड आपकी मदद कर सकता है।

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

यह किनारों को जोड़ देगा। लेकिन मेरा मानना ​​है कि यह केवल पहले लेबल को लागू करेगा।

+1

बकवास। यह सही होगा अगर यह केवल अंतिम लेबल लागू करेगा ... –

+2

बस घोषणा आदेश को उलट दें ... –

संबंधित मुद्दे