मैं अजगर में ग्राफ खींचने के लिए पाइडोट का उपयोग कर रहा हूं। मैं एक निर्णय पेड़ का प्रतिनिधित्व करना चाहते हैं, का कहना है की तरह कुछ (A1, A2, A3 गुण हैं और दो वर्गों 0 और 1 हैं:पायडॉट: क्या दो अलग-अलग नोड्स को उसी स्ट्रिंग के साथ प्लॉट करना संभव है?
a1>3
/ \
a2>10 a3>-7
/\ /\
1 0 1 0
हालांकि, pydot का उपयोग कर, केवल दो पत्ते बनाई गई हैं और पेड़ इस (संलग्न png) की तरह दिखता है:
a1>3
/ \
a2>10 a3>-7
| X |
1 0
अब, यह सरल मामले तर्क ठीक है में लेकिन बड़े पेड़ों में यह गंदा आंतरिक विभिन्न शाखाओं से संबंधित नोड्स एकीकृत है
सरल कोड मैं। एम का उपयोग कर रहा है:
import pydot
graph = pydot.Dot(graph_type='graph')
edge = pydot.Edge("a_1>3", "a_2>10")
graph.add_edge(edge)
edge = pydot.Edge("a_1>3", "a_3>-7")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "0")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "0")
graph.add_edge(edge)
graph.write_png('simpleTree.png')
मैं भी अलग नोड वस्तुओं की तुलना किनारों बना सकते हैं और की तुलना में यह ग्राफ में जोड़ने के लिए बनाने की कोशिश की लेकिन ऐसा लगता है कि pydot बजाय एक नया बनाने के समान नाम के साथ नोड्स के लिए नोड पूल जाँच करता है।
कोई विचार? धन्यवाद!