在python中使用呈现函数ete3时出错

2024-06-15 11:13:14 发布

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

我尝试在python中使用ete3渲染一棵树。这是我的基本代码:

from ete3 import Tree, TreeStyle
t = Tree( "((a,b),c);" )
circular_style = TreeStyle()
circular_style.mode = "c" # draw tree in circular mode
circular_style.scale = 20
t.render("mytree.png", w=183, units="mm", tree_style=circular_style)

我得到一条错误信息:

Traceback (most recent call last):
  File "test.py", line 9, in <module>
    t.render("mytree.png", w=183, units="mm", tree_style=circular_style)
  File "/usr/local/bioinfo/src/python/current/lib/python2.7/site-packages/ete3/coretype/tree.py", line 1362, in render
    units=units, dpi=dpi)
  File "/usr/local/bioinfo/src/python/current/lib/python2.7/site-packages/ete3/treeview/drawer.py", line 104, in render_tree
    tree_item, n2i, n2f = render(t, img)
  File "/usr/local/bioinfo/src/python/current/lib/python2.7/site-packages/ete3/treeview/qt4_render.py", line 302, in render
    render_node_content(node, n2i, n2f, img)
  File "/usr/local/bioinfo/src/python/current/lib/python2.7/site-packages/ete3/treeview/qt4_render.py", line 628, in render_node_content
    node_ball = _CircleItem(node)
  File "/usr/local/bioinfo/src/python/current/lib/python2.7/site-packages/ete3/treeview/qt4_render.py", line 84, in __init__
    self.setBrush(QtGui.QBrush(QtGui.QColor(self.node.img_style["fgcolor"])))
TypeError: unable to convert a Python 'str' object to a C++ 'QString' instance

看起来渲染功能不起作用,但我看不出问题出在哪里。有人有线索吗?可能是版本问题吗?你知道吗

谢谢!你知道吗


Tags: inpysrcnodetreestyleusrlocal