2011-04-05 12 views
8

मैं graphviz के साथ आरेख उत्पन्न कर रहा हूं और मुझे एक समस्या है - कई नोड्स हैं जो बहुत बड़े हैं - और बड़ी संख्या में छोटे नोड्स हैं। मैंने neato और fdp के साथ पीएनजी उत्पन्न करने की कोशिश की लेकिन दोनों बहुत बड़े ग्राफिक्स उत्पन्न करते हैं, जो ज्यादातर खाली होते हैं (नोड्स बहुत दूर हैं)। क्या इन उपकरणों के लिए नोड्स को एकसाथ मजबूर करने के लिए एक बड़ा वसंत 'ताकत' सेट करने का कोई तरीका है?कॉम्पैक्ट ग्राफ लेआउट के लिए ग्राफ़विज़ के साथ 'वसंत' बल को कैसे सेट करें

+1

इस पोस्ट को जानने का बहुत पुराना है: नहीं अपने विशेष ग्राफ जानते हुए भी, मैं एक उदाहरण के कुछ बड़े और कुछ छोटे नोड्स युक्त बनाया sfdp/एफडीपी का उपयोग कर, वहाँ एक विशेषता [K] कहा जाता है कि अगर (http://www.graphviz.org/doc/info/attrs.html#d:K), जो इस उद्देश्य के लिए कार्य करता है। – Yosh

उत्तर

11

नीटो का उपयोग करते समय, आप overlap और sep विशेषता के साथ परेशान हो सकते हैं।

overlapfalse, compress, scalexy, और more करने के लिए सेट किया जा सकता है।

sep या तो पिछले प्लस साइन के साथ उपयोग किए जाने पर एक योजक मार्जिन निर्दिष्ट कर सकता है, अन्यथा मार्जिन को नोड के आकार कोके मान के साथ स्केल करके परिभाषित किया जाता है। ऐसा लगता है कि डिफ़ॉल्ट

नमूना ग्राफ पोस्ट करने में संकोच नहीं करें।

layout=neato; 
overlap=scalexy; //false, compress, ... 
sep="+1"; // 0.1, +1 

node[label="Large node", width=2, height=2]; 
l1; l2; l3; 
node[label="\N", width=0.5, height=0.3]; 
1 -> l1; 
2 -> l1; 
3 -> l1; 
4 -> l1; 
5 -> l1; 
5 -> l2; 
6 -> l2; 
7 -> l2; 
8 -> l2; 
8 -> l3; 
9 -> l3; 
10 -> l3; 

enter image description here

+0

sep = "+ 1" "अप्रत्याशित चरित्र मिला" + ' – qxo

+0

@qxo के लिए तय किया गया है अब आपको उद्धरण' sep = "+ 1" के बीच रखना होगा; ' – marapet

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