graphviz 绘图太宽

wis*_*amb 5 python graphviz jupyter

我正在做练习,在 jupyter 笔记本中使用 graphviz 创建决策树。然而,决策树过于宽泛。这是代码:

from sklearn.tree import export_graphviz
export_graphviz(tree, out_file="tree.dot", class_names=["malignant", "benign"], 
                feature_names=cancer.feature_names, impurity=False, filled=True)
with open("tree.dot") as f:
    dot_graph = f.read()
display(graphviz.Source(dot_graph))
Run Code Online (Sandbox Code Playgroud)

我得到这个: 在此输入图像描述

我必须滚动才能看到决策树的左侧。我可以把宽度变小吗?如何?

kir*_*asa 2

如果节点树分布广泛,可以尝试

  • 为长标签添加换行符 ( node1 [label="line\nbreak"])
  • 全局减少节点宽度和边距 ( node [width=0.1 margin=0])
  • graph [nodesep=0.1]减少图 ( )行中节点之间的距离
  • 减小图形大小 ( graph [size="3,3"])

或者您可以将所有节点放入带有 的列中rankdir=LR; edge[constraint=false],如下例所示。
图像:
用 graphviz dot 制作的节点列
脚本:

digraph {
    graph [rankdir=LR ranksep=1]
    
    node[shape=box width=3]
    edge[constraint=false]
    
    A -> {B C}
    B -> {D E}
    C -> F
    D -> {G H}
    E -> I
    F -> {J T}
    G -> {K L}
    H -> {M N}
    J -> {O P}
}
Run Code Online (Sandbox Code Playgroud)

相关问题:是否可以生成一个小的GraphViz图表?