Parsing 试图在graphviz dot中可视化抽象语法树,它';太宽了。如何修复?

Parsing 试图在graphviz dot中可视化抽象语法树,它';太宽了。如何修复?,parsing,abstract-syntax-tree,graphviz,Parsing,Abstract Syntax Tree,Graphviz,所以我正在研究一种语言,我想,主要是出于好奇,看看我是否能可视化一个文件的抽象语法树。环顾四周后,我发现graphviz dot,将我的AST prettyprinter转换为这种格式: digraph G { main -> parse -> execute; main -> init; main -> cleanup; execute -> make_string; execute -> printf ini

所以我正在研究一种语言,我想,主要是出于好奇,看看我是否能可视化一个文件的抽象语法树。环顾四周后,我发现graphviz dot,将我的AST prettyprinter转换为这种格式:

digraph G {
    main -> parse -> execute;
    main -> init;
    main -> cleanup;
    execute -> make_string;
    execute -> printf
    init -> make_string;
    main -> printf;
    execute -> compare;
}
但我的问题是,当我跑步的时候

dot -Tpng dotf.gv -o graph.png
在输入文件中,我得到了一个8000像素宽的文件,这是不实际的。看


我不知道是否有可能修复,但如果有人能修复,我将不胜感激。

首先要做的是,通过插入以下内容,将图表的方向设置为从默认的从下到上,从左到右:

rankdir=LR;
。。。在.dot文件中。这将使图形从左向右调整方向,从而使它在这样的情况下更加紧凑,因为可能有许多节点具有长节点标签


在中,还有其他一些减小图形宽度的方法。

我不是grapahviz专家,但可能会有所帮助。