ग्राफविज़ का उपयोग करते समय किनारे के अनुरूप लेबल प्रदर्शित करें


91

मैं ग्राफ्विज 2.30 का उपयोग कर रहा हूं। लेबल के लिए क्षैतिज स्थिति बाहर काम करती है, लेकिन कुछ मामलों में, एक संशोधित कोण वांछित होगा।

उदाहरण के लिए, मैंने यहाँ कोण के लिए विभिन्न मूल्यों की कोशिश की, लेकिन बिना किसी प्रभाव के:

ABB -> ABACUS[label="applied", fontname="Arial", fontsize=15, labelangle=110];

मैं ग्राफविज़ का उपयोग करते समय किनारे के अनुरूप (यानी समानांतर) लेबल कैसे प्रदर्शित कर सकता हूं digraph

digraphएनडीए के कारण पूरा पोस्ट नहीं किया जाएगा। इसके अलावा, रोटेशन केवल कुछ लेबल पर लागू किया जाएगा।

मैं की तरह समान धागे पढ़ा है यह या एक और (या उदाहरण के लिए संरेखण के बारे में एक धागा), लेकिन मेरी समस्या के बारे में कोई मदद के बिना।


2
'लेबलएंगल' केवल हेडलैबल्स और टेलबिल्स के साथ काम करता है, इसके अलावा यह लेबल को घुमाता नहीं है, लेकिन केवल लेबल के स्थान पर लेबल (जहां अभी भी एक क्षैतिज रेखा है) को परिभाषित करता है। कोण 0 किनारे से शुरू / अंत बिंदु से जा रहा है। कोण + / - के साथ लेबल किनारे के ऊपर या नीचे मुद्रित किया जा सकता है। दूरी 0 के साथ कोण बिना प्रभाव के है। मैं भी किनारों का पालन करने के लिए लेबल घुमाए जाने में बहुत रुचि रखता हूं, जो कि एफिक अभी भी अनसुलझा है।
बग 313

1
मुझे लग रहा है कि ऐसा करने का कोई तरीका नहीं है। लेकिन चूंकि सुविधाओं की अनुपस्थिति को शायद ही कभी प्रलेखित किया गया है (यह एक अनंत मात्रा में प्रलेखन के लिए नेतृत्व करेगा), इसके लिए एक आधिकारिक उत्तर लिखना कठिन है। जब तक आप यह नहीं बता सकते कि पूरे दस्तावेज में इस तरह का कोई उल्लेख नहीं है, और न ही कोडबेस के किसी अस्पष्ट कोने में।
१२:१४

1
ग्राफविज़ में पाठ तत्व सभी स्थिति के दौरान एक नियमित बॉक्स के साथ बंधे हैं। एल्गोरिथ्म एज प्लेसमेंट के दौरान इन बॉक्स सीमाओं को पार करने से बचने के लिए वास्तव में कठिन प्रयास करता है। यदि किसी लेबल को घुमाया जा सकता है, तो ये बॉक्स बहुत बड़े हो जाएंगे जिससे डिस्प्ले एरिया पर पर्याप्त दबाव पड़ेगा। यदि लेबल किनारों या नोड्स को ओवरलैप कर सकते हैं, तो उन्हें बाद में इमेजिंग पाइपलाइन में घुमाया जा सकता है।
पेका

1
वास्तव में आप इसे प्रलेखन में पा सकते हैं: github.com/ellson/graphviz/blob/master/doc/internal_todo.html ? - एक कोण पर पाठ की अनुमति दें "
MK।

जवाबों:


5

Dot2latex का उपयोग करने से आप lblstyleविशेषता निर्दिष्ट कर सकते हैं । मूल्य का lblstyleउपयोग पीजीएफ / टीकेजेड द्वारा पीडीएफ पीढ़ी में किया जाता है ।

एक इस तरह समानांतर लेबल निर्दिष्ट कर सकते हैं:

digraph G {
    edge [lblstyle="above, sloped"];
    a -> b [label="ab"];
    b -> c [label="bc"];
    c -> a [label="ca"];
}

पीडीएफ उत्पन्न करने के लिए

$ dot2tex --tikzedgelabel file.dot > file.tex
$ pdflatex file.tex

परिणाम है

यहां छवि विवरण दर्ज करें


दुर्भाग्य से आपको ग्राफ बनाते समय सभी लेबल के कोणों को जानना होगा; ओपी अपने लेबल को किनारे के समानांतर प्रदर्शित करना चाहते हैं, जो भी किनारे पर होता है।
गलैक्स

1
@Galax आपकी टिप्पणी के लिए धन्यवाद। मैंने जवाब तय किया।
मालबारबो

शानदार खोज- यह एक आसान विशेषता है dot, मैंने इसे पहले नोटिस नहीं किया (या शायद यह नया है)।
गलैक्स

-1

संपादित करें: एक अन्य उत्तर में एक विकल्प मिला जो अब किनारों के साथ पाठ संरेखित करने के लिए मौजूद है।

आपका सबसे अच्छा विकल्प यह हो सकता है कि ग्राफ को ए SVGऔर उपयोग के रूप में निर्यात करें Illustratorया Inkscapeइसे ठीक करें। कुछ रेखांकन बनाते समय यह केवल व्यावहारिक है।

मुझे अक्सर आउटपुट को ट्विक करना पड़ता है Graphvizऔर Gephi; हालांकि वे मुझे एक अच्छा प्रारंभिक बिंदु देते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.