तो पुस्तकालय मैं सलाह देते हैं और इस जवाब में मेरी कोड स्निपेट के लिए उपयोग नहीं एक अजगर पुस्तकालय है, लेकिन यह एक अजगर के अनुकूल पुस्तकालय, जिसके द्वारा मेरा मतलब इस लाइब्रेरी का उपयोग कर कि कोड एक अजगर में डाला जा सकता है डेटा प्रोसेसिंग के लिए मॉड्यूल और यह विदेशी कोड दोनों सिरों पर मौजूदा पायथन कोड से कनेक्ट होगा, यानी इनपुट और आउटपुट दोनों, और मुझे संदेह है, हालांकि निश्चित रूप से मुझे नहीं पता, यह सब वास्तव में "पायथन लाइब्रेरी" "मानदंड। तो यदि आप एक वेब ऐप लिख रहे हैं, तो यह कोड क्लाइंट-साइड होगा। दूसरे शब्दों में, यह पुस्तकालय अजगर नहीं है, लेकिन यह अजगर के साथ काम करता है।
अपने इनपुट है (लगभग) कच्चे अजगर dicts, और अधिक विशेष, json.load (a_python_dict) एक json सरणी या वस्तु देता है, एक प्रारूप है जो इस जावास्क्रिप्ट पुस्तकालय निश्चित रूप से पहचान सकते हैं; और
उत्पादन प्रारूप या तो HTML या एसवीजी है, कुछ भाषा-विशिष्ट स्वरूप में नहीं वस्तुओं
आप d3.js उपयोग कर सकते हैं।यह है प्रतिपादन पेड़ों के लिए विशेष रूप से एक class:
var tree = d3.layout.tree().size([h, w]);
वहाँ भी d3 स्रोत है, जो आप को क्लोन कर सकते हैं में उदाहरण फ़ोल्डर में पेड़ (काम कर कोड) के उदाहरण के एक जोड़े है/डाउनलोड के लिए फार्म लिंक मैंने ऊपर प्रदान किया है।
क्योंकि डी 3 जावास्क्रिप्ट लाइब्रेरी है, इसका मूल डेटा प्रारूप JSON है।
बुनियादी संरचना एक नेस्टेड शब्दकोश है, प्रत्येक शब्दकोश दो मूल्यों के साथ एक एकल नोड का प्रतिनिधित्व करने, नोड का नाम और अपने बच्चों (एक सरणी में संग्रहीत), नाम और बच्चों क्रमशः keyed :
{"name": "a_root_node", "children": ["B", "C"]}
और निश्चित रूप से यह अजगर शब्दकोशों और JSON के बीच परिवर्तित करने के लिए सरल है:
>>> d = {"name": 'A', "children": ['B', 'C']}
>>> import json as JSON
>>> dj = JSON.dumps(d)
>>> dj
'{"name": "A", "children": ["B", "C"]}'
यहाँ एक अजगर शब्दकोश एक बड़ा पेड़ (लगभग एक दर्जन नोड्स) के प्रतिनिधित्व जो मैं के रूप में ऊपर JSON में बदल जाती है, और फिर पेड़ नीचे दी गई छवि में दिखाया गया है d3 में गाया:
tree = {'name': 'root', 'children': [{'name': 'node 2', 'children':
[{'name': 'node 4', 'children': [{'name': 'node 10', 'size': 7500},
{'name': 'node 11', 'size': 12000}]}, {'name': 'node 5', 'children':
[{'name': 'node 12', 'children': [{'name': 'node 16', 'size': 10000},
{'name': 'node 17', 'size': 12000}]}, {'name': 'node 13', 'size': 5000}]}]},
{'name': 'node 3', 'children': [{'name': 'node 6', 'children':
[{'name': 'node 14', 'size': 8000}, {'name': 'node 15', 'size': 9000}]},
{'name': 'node 7', 'children': [{'name': 'node 8', 'size': 10000},
{'name': 'node 9', 'size': 12000}]}]}]}
टिप्पणी: D3 ब्राउज़र में renders; उपरोक्त छवि सिर्फ मेरी ब्राउज़र विंडो का एक स्क्रीन शॉट है।
क्या आप "पेड़ ग्राफ फ़ाइल" से क्या मतलब रखते हैं इसके बारे में अधिक कह सकते हैं? उदाहरण इनपुट/आउटपुट और आउटपुट का उपयोग करने के तरीके के बारे में कुछ टिप्पणियां काफी मददगार होंगी। – neirbowj
@neirbowj अच्छी टिप्पणी, धन्यवाद; अद्यतन – jdotjdot