2011-10-28 14 views
6

मेरे पास बूस्ट ग्राफ़ लाइब्रेरी का उपयोग कर सी ++ प्रोग्राम है। मुझे आश्चर्य है कि नोड्स में निहित एक निश्चित स्थिति मानों के बाद ग्राफ (नोड्स और वैकल्पिक रूप से किनारों) को देखने का कोई तरीका है या नहीं। कृपया मुझे समझने के लिए छवि के उदाहरण देखें: http://img11.hostingpics.net/pics/647608graphViz.pngग्राफ विज़ुअलाइज़ेशन (बूस्ट ग्राफ़)

धन्यवाद।

उत्तर

16

आप भाग्यशाली हैं।

बूस्ट ग्राफ dot भाषा (जिसे GraphViz द्वारा उपयोग की जाने वाली भाषा) से क्रमबद्ध और deserialize कर सकते हैं। (फ्री) बूस्ट ग्राफ लाइब्रेरी पुस्तक और साइट पर कई उदाहरण हैं।

देखें उदाहरण के लिए: http://www.boost.org/doc/libs/release/libs/graph/doc/write-graphviz.html

आप पिछले वेबपेज पर नमूने के उत्पादन लेने के लिए और

dot -Tpng dot > test.png 

चलाते हैं आप कुछ की तरह मिल जाएगा निम्न चित्र:

enter image description here

यहां example using dynamic properties

+0

का सीधा लिंक है, यह बहुत ही बढ़िया है, आपके उत्तर के लिए धन्यवाद, मैं इसे वूंगा। लेकिन क्या टाइप सेट्स (वीसीएस नहीं) के किनारों और शिखरों का उपयोग करके ग्राफ को देखना संभव है? क्योंकि मैं देखता हूं कि ग्राफविज़ के सभी उदाहरणों में ग्राफ का उपयोग वीसीएस (जिसमें एक इंडेक्स है)। – shn

+0

चूंकि मेरा ग्राफ वर्टेक्स के लिए सेट्स का उपयोग करता है, इसलिए मुझे अपने ग्राफ के लिए वर्टेक्स_इंडेक्स प्रॉपर्टी मैप प्रदान करना होगा, या लिखने के लिए एक स्पष्ट vertex_id तर्क देना होगा, अन्यथा write_graphviz काम नहीं करेगा। क्या आप मुझे मेरे ग्राफ के लिए vertex_index प्रॉपर्टी मैप प्रदान करने का एक बहुत ही सरल उदाहरण दे सकते हैं, या write_graphviz को स्पष्ट vertex_id तर्क दे सकते हैं? मेरा ग्राफ इस प्रकार परिभाषित किया गया है: typedef adjacency_list ग्राफ़; जहां नोडडाटा और एजडेटा संरचनाएं हैं। – shn

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