【问题标题】:How do I layout the edges clearly?如何清晰地布置边缘?
【发布时间】:2019-04-10 05:17:30
【问题描述】:

即使我将等级更改为LR,显示的图像看起来也很混乱。这是由工具生成的,我必须自己修改。

This 答案有一个可能的解决方案。我知道,如果我能够为节点分配编号,我可以使用该解决方案。

我说的对吗?我将能够使用 Java 代码修改这个大点文件。

我试过了。

overlap=scale ;
splines=true;

还有其他我应该研究的解决方案吗?

我在这里复制了部分文件。

digraph "cxf-api-2.1.3.jar" {
    // Path: cxf-api-2.1.3.jar
   "org.apache.cxf"                                   -> "java.io (java.base)";
   "org.apache.cxf"                                   -> "java.lang (java.base)";
   "org.apache.cxf"                                   -> "java.lang.reflect (java.base)";
   "org.apache.cxf"                                   -> "java.util (java.base)";
   "org.apache.cxf"                                   -> "java.util.logging (java.logging)";
   "org.apache.cxf"                                   -> "org.apache.cxf (cxf-api-2.1.3.jar)";

【问题讨论】:

  • 您可能会考虑使用不同的布局引擎,例如neato、twopi 或fdp,而不是dot。当 N > 5 的 N 对 1 或 1 对 N 关系过多时,点图往往会变得混乱。

标签: graph-theory graphviz overlap dot


【解决方案1】:

使用rankdir=LR 只会将图表从水平布局更改为垂直布局,这对您的情况没有多大帮助。您提到的答案中的帮助技巧是您选择了一些项目并将它们组合在同一行:

{rank = same; sample1 sample10 sample20 }

...并且您使用真实姓名,与图表中的其他地方相同。您必须进行试验,但我们的想法是选择彼此之间足够远的项目,以便包装实际上使新图表更具可读性。

还有一件事:您在对项目进行分组时的选择有限。排名选项的完整列表是“same”、“min”、“source”、“max”、“sink”,但我只使用rank=samerank=sink 取得了有限的成功.

【讨论】:

  • 我会尝试一下这个想法,然后再回来。
  • 您建议的语法有效,但我必须进行实验。"java.lang (java.base)" ->"org.apache.cxf.common.i18n (not found)" [ style = invis ]; 这也被接受。
猜你喜欢
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 2022-01-28
  • 2014-01-07
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多