【发布时间】:2023-03-12 07:56:01
【问题描述】:
我正在尝试使用 NetworkX 将 sklearn.tree.export_to_graphviz 生成的 .dot 文件读入图表。我计划将此图添加为 pyplot 图中的子图。虽然我可以使用 nx.drawing.nx_pydot.read_dot 来获取图形结构,但所有标签似乎都消失了。
这就是我正在尝试的:
randTree = (nx.drawing.nx_pydot.read_dot("tree_output.dot"))
nx.draw_networkx(randTree)
.dot 文件是:
digraph Tree {
node [shape=box] ;
0 [label="X[0] <= 332.72\nsamples = 19\nvalue = -0.41"] ;
1 [label="samples = 11\nvalue = -0.67"] ;
0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;
2 [label="X[0] <= 576.73\nsamples = 8\nvalue = -0.04"] ;
0 -> 2 [labeldistance=2.5, labelangle=-45, headlabel="False"] ;
3 [label="samples = 4\nvalue = -0.05"] ;
2 -> 3 ;
4 [label="samples = 4\nvalue = -0.03"] ;
2 -> 4 ;
}
结果是一个带有 4 个标记为 1-4 的圆圈的图形,没有任何其他标签或属性(我想盒子形状是节点的属性,所以它们都是圆圈),链接如下。如果有另一种方法可以在 pyplot 情节中显示此决定,我很乐意听到!
【问题讨论】:
标签: python networkx decision-tree