我最近使用anytree和Dot Exporter来渲染由我自己的类组成的树。
class MyNode(NodeMixin):
def __init__(self, name, type, parent=None, children=None):
self.name = name
self.type = type
self.parent = parent
if children:
self.children = children
问题是当我尝试输出树的png文件时,图片中的name属性不对。例如,树看起来像这样(.dot 格式)
digraph tree {
"%a";
"%1";
"%2";
"%5";
"%7";
"%a" -> "%1";
"%a" -> "%5";
"%a" -> "%7";
"%1" -> "%2";
}
而这棵树的png图像使用DotExporter(root).to_picture(root.name + ".png")或我首先将其保存为点文件,然后将其转换为png,如下所示:
DotExporter(root).to_dotfile(root.name + ".dot")
dot %a.dot -T png -o %a.png
结果png文件是这样的(节点的名字都是奇数递增的,应该是像'%a', '%1'这样的名字...)
我也尝试过设置nodenamefunc,但没有任何区别......有人可以帮我吗?感谢任何评论!