属于同一记录节点端口之间的Graphviz边缘看起来很糟糕(Graphviz edges betwe

2019-09-21 12:13发布

我试图创建一个在Linux中特定的代码执行路径函数调用图。 我有以下的有向图,它使用记录字段(它们已被弃用,我知道,我刚开始使用的graphviz和最近才看到):

digraph {
  node[fontsize=9,shape=Mrecord,style=filled,fillcolor=white];

  subgraph cluster_0 {
    style=filled; fillcolor=lightgrey;
    open[label="open.c|{<f0>do_sys_open()}"];
    namei[label="namei.c|{<f0>do_filp_open()\l|\
                          <f1>path_lookup_open()\l|\
                          <f2>do_path_lookup()\l}"];
    file_table[label="file_table.c|{<f0>get_empty_filp()}"];
    open:f0->namei:f0;
    namei:f0:e->namei:f1:e;
    namei:f1:e->namei:f2:e;
    namei:f1:e->file_table:f0;
  }
}

生成的图像:

作为图像显示,相同的记录节点的端口之间的指向箭头总是以一定的角度出来。 有没有什么办法“简化”他们,让他们出来直,或以某种方式以其他方式这一下更整洁?

文章来源: Graphviz edges between ports belonging to the same record node look bad