在ete2

时间:2015-10-09 12:27:34

标签: python dendrogram visualize etetoolkit

我想在ete2中为树形图创建自己的布局。我有非常具体的需要按节点定制树节点(即每个节点都有不同的样式等。)

是否可以将节点的形状设置为矩形(我发现圆形,方形和球形作为选项)?我想手动为每个节点设置长度和高度。

另外,您对ete2有任何经验吗?它对定制有任何限制吗?它似乎是一个可视化树木的好工具,但我想创建一个更“特殊”的布局。

提前致谢,

升。

1 个答案:

答案 0 :(得分:1)

仅通过NodeStyle支持filledRects。但是,通过在分支右侧位置向节点添加RectFace,可以获得相同的效果和更多控制。许多其他配置可用。例如:

from ete2 import Tree, RectFace, TreeStyle, AttrFace
tree = Tree()
tree.populate(10)

# Disable auto tip names
ts = TreeStyle()
ts.show_leaf_name = False

for node in tree.traverse():
    # disable default node shapes
    node.img_style["size"] = 0
    # add a custom rect shapes to nodes
    rectF = RectFace(10, 10, "blue", "white")
    rectF.margin_right = 5
    node.add_face(rectF, column=0, position="branch-right")

    # Add tip names in a custom position
    if node.is_leaf():
        nameF = AttrFace("name", fsize=10, fgcolor="slateGrey")
        node.add_face(nameF, column=1, position="branch-right")

tree.show(tree_style=ts)

ETE custom tree