2009-05-11 12 views
6

मैं PHP में निर्देशित ग्राफ को आकर्षित करने का एक तरीका ढूंढ रहा हूं। (http://upload.wikimedia.org/wikipedia/commons/0/08/Directed_acyclic_graph.png में)। मैं इसे ग्राफ़ की एक छवि बनाना चाहता हूं जैसे जीडी एक छवि आउटपुट कर सकता है।PHP में निर्देशित ग्राफ़ ड्राइंग कैसे करें?

मैंने इस पर बहुत कुछ किया है, लेकिन मुझे ग्राफ में सामान्य रूप से ग्राफ़ (बार आदि के साथ) ड्राइंग के लिए बहुत सारी लाइब्रेरी मिल सकती हैं, निर्देशित ग्राफ नहीं।

पीएस मैंने सिस्टम() के माध्यम से डॉट (लिनक्स प्रोग्राम) का उपयोग करने का प्रयास किया है, लेकिन दुर्भाग्यवश मुझे सर्वर पर ऐसा करने की अनुमति नहीं है। साथ ही, मेरे पास सर्वर पर PHP एक्सटेंशन और सामान स्थापित करने का कोई अधिकार नहीं है, इसलिए इसे सामान्य PHP (आदर्श रूप से केवल एक फ़ाइल सहित) के साथ काम करना चाहिए।

अग्रिम धन्यवाद।

+0

क्यों आप इस जी.डी. का उपयोग कर ऐसा नहीं कर सकते? यह अपेक्षाकृत मामूली होगा, आपको बस ट्रैक करने की आवश्यकता है कि प्रत्येक नोड कहां है। क्या आप सिर्फ नोड्स की सूची देना चाहते हैं और वे क्या कनेक्ट करते हैं, और यह स्वचालित रूप से निर्देशित ग्राफ उत्पन्न करता है? –

+0

मैंने यह कोशिश की है, लेकिन यह काम करने के लिए काफी जटिल है (बहुत अधिक) बग, यह वास्तव में बदसूरत स्वरूपित ग्राफ में परिणाम देता है। सबसे बड़ी समस्या नेटवर्क की संरचना है, बहुत अधिक क्रॉसिंग लाइनों से बचें। – openbas2

उत्तर

3

मुझे PEAR interface to GraphViz मिला; मैंने पहले इसका उपयोग नहीं किया है इसलिए आपको कोई व्यक्तिगत सिफारिश नहीं दे सकती है कि यह अच्छा है या बुरा है। (लेकिन शायद यह आपकी समस्या का समाधान नहीं करता है क्योंकि आप कहते हैं कि आप एप्लिकेशन इंस्टॉल नहीं कर सकते हैं)

+0

यह वास्तव में एक अच्छा समाधान होगा, लेकिन दुर्भाग्य से मेरे खाते पर स्थापित नहीं है, और मेरे पास ऐसा करने का कोई अधिकार नहीं है। – openbas2

+5

आप मैन्युअल रूप से पैकेज और इसकी निर्भरता भी डाउनलोड कर सकते हैं। पीयर पैकेज का उपयोग करने के लिए आपको पियर इंस्टॉलर की आवश्यकता नहीं है। –

3

मुझे php में किसी भी ग्राफ़ विज़ुअलाइज़ेशन कार्यान्वयन से अवगत नहीं है।

हालांकि मैं तुम्हें जावास्क्रिप्ट के साथ ग्राफ ड्राइंग, canviz जे एस पुस्तकालय जो सबसे ब्राउज़रों पर काम करता है के साथ उदाहरण के लिए विचार करने के लिए सुझाव है (IE 6 & 7 सहित हाँ, है, लेकिन वर्तमान में नहीं 8)।

0

एक त्वरित Google खोज के बाद, मुझे graph.php मिला, जिसमें टिप्पणियों में कहा गया है कि यह आर्क्स के माध्यम से नोड्स को जोड़ता है, प्रदान किए गए उदाहरण में सीधे सीधी रेखाएं, लेकिन सही दिशा में एक अच्छा कदम हो सकता है।

+0

शायद मुझे कुछ याद आ रहा है, लेकिन जहां तक ​​मैं देख सकता हूं, यह केवल डेटा संरचना है (जो मेरे पास पहले से है)। ऐसा ग्राफ नहीं लग रहा है? – openbas2

+0

ऐ, मैंने यह देखा क्योंकि मैं इसे उपयोग करने के लिए तैयार हो रहा था। मैंने सोचा कि उस पृष्ठ पर कोड फिसल गया था। उसके लिए क्षमा चाहता हूँ। – qat

0

मैं php का उपयोग json कि d3 force-directed graph प्रणाली द्वारा सेवन किया जाता है उत्पन्न करने के लिए। तो प्रदर्शन सभी संभाला ग्राहक के पक्ष, सभी मैं सही json डेटा संरचनाओं बनाने है करने की ज़रूरत है ...

-ft

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