首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用graphviz和neato防止重叠记录

使用graphviz和neato防止重叠记录
EN

Stack Overflow用户
提问于 2009-06-24 17:31:00
回答 2查看 18.2K关注 0票数 44

我正在构建一个点文件来表示计算机硬件以及与网络交换机和显示器的物理连接。当它被点程序处理时,我觉得它看起来很好,但是我想我真的希望它被neato处理,在它开始使用grom的时候创建一个更“自由形式”的图片。现在,当我使用neato运行我的大文件时,所有的内容都是重叠的。

我试图找出在哪里定义overlap属性的语法。下面是我的点文件的一个子集。

代码语言:javascript
复制
graph g {  
    node [shape=record,height=.1];  
    PC8[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC8}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"];  
    PC9[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC9}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"];
    C1[label = "{{<dvi1>dvi1}|{<name>C1}}"];  
    C2[label = "{{<dvi1>dvi1}|{<name>C2}}"];  
    C3[label = "{{<dvi1>dvi1}|{<name>C3}}"];  
    C4[label = "{{<dvi1>dvi1}|{<name>C4}}"];  
    D1[label = "{{<dvi1>dvi1}|{<name>D1}}"];  
    D2[label = "{{<dvi1>dvi1}|{<name>D2}}"];  
    "PC8":dvi1 -- "C1":dvi1;  
    "PC8":dvi2 -- "C2":dvi1;  
    "PC8":dvi3 -- "C3":dvi1;  
    "PC8":dvi4 -- "C4":dvi1;  
    "PC9":dvi1 -- "D1":dvi1;  
    "PC9":dvi2 -- "D2":dvi1;  
}
EN

回答 2

Stack Overflow用户

发布于 2009-12-07 15:24:25

嗯,和大多数questions...soon一样,在我发完邮件后,我想出了答案。我需要在文件的顶部添加graph [overlap=false];

这样做吧:

代码语言:javascript
复制
graph g {
    overlap = false;

    node [shape=record,height=.1];
    /* ... */
}
票数 52
EN

Stack Overflow用户

发布于 2020-10-27 18:13:21

如社区wiki回答所述,将重叠设置为false对于neato是有效的;然而,如果该图形显示出任何规则或对称性,[overlap=false]通常会通过左右摆动节点使其不重叠而使其陷入混乱。

使用[overlap=false]作为最后手段。

从neato输出的所有节点重叠都可以看作是发生的,因为节点相对于边缘来说太大了。您可以通过使节点更小来消除任何重叠,并通过设置[overlap=scale]来保持图形中的对称性。引用Neato用户手册

为了提高清晰度,它有时有助于消除重叠的节点或边缘。消除节点重叠的一种方法就是根据需要扩大布局(根据节点的中心点)。这是通过设置图形属性overlap=scale来启用的。这种转换保留了布局中的整体几何关系,但在不好的情况下,可能需要高尺度的因素。

正如文档中所述,[overlap=scale]可能会生成大得令人无法接受的图形,但如果不这样做,它的输出通常会比[overlap=false]更好看。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1039785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档