Graphviz edges between ports belonging to the same record node look bad

三世轮回 提交于 2019-12-08 08:17:39

问题


I'm attempting to create function call graphs for specific code execution paths within Linux. I have the following digraph, which uses record fields (they are deprecated, I know, I just started using graphviz and only recently saw that):

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;
  }
}

The generated image:

As the image shows, the arrows pointing between ports of the same record node always come out at an angle. Is there any way to "simplify" them so that they come out straight, or to somehow otherwise make this look neater?

来源:https://stackoverflow.com/questions/12079921/graphviz-edges-between-ports-belonging-to-the-same-record-node-look-bad

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!