ETE2有多个父节点的一个子节点?

2024-09-28 01:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python中的ETE2模块创建一个树。我想将1个子节点添加到2个父节点,以便在显示树时它们都连接到子节点。我是ETE的新手,如果这是个简单的问题,请原谅我。 代码:

from ete2 import Tree, TreeNode, TextFace


classes = Tree()

#adding 1
course1 = TreeNode(name="Course 1")
face1 = TextFace(text="Course 1")
course1.add_face(face1, column=1)
classes.add_child(child=course1)

#adding 2
course2 = TreeNode(name="Course 2")
face2 = TextFace(text="Course 2")
course2.add_face(face2, column=1)
course1.add_child(child=course2)

#adding 3
course3 = TreeNode(name="Course 3")
face3 = TextFace(text="Course 3")
course3.add_face(face3, column=1)
#adding course3 to 2 parents
course1.add_child(child=course3)
course2.add_child(child=course3)

classes.show()

输出是here

我是不是从根本上反对在这里建一棵树?ETE有一个简单的方法来完成我的提议吗?在

如果你需要更多的信息帮助我。在


Tags: textnameaddchild节点columnclassesface
1条回答
网友
1楼 · 发布于 2024-09-28 01:30:33

我基本上找到了我自己问题的答案:我应该使用的数据结构不是树。@boardrider指出,树本质上是一个“一对多”的结构,将一个父节点映射到一个或多个子节点。在

解是一个有向无环图。这是一个图形数据结构的变体,它将“多对多”映射为从上面继续语法。在

资源:

Graph data structure basics

Python specific graph structures

我会在进展中编辑这个。在

相关问题 更多 >

    热门问题