首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制neato引擎颠倒节点顺序?

如何强制neato引擎颠倒节点顺序?
EN

Stack Overflow用户
提问于 2019-04-29 22:38:41
回答 1查看 128关注 0票数 2

我试图画一张图,其中较短的单词"Myth“在右上角,但是neato引擎很顽固,拒绝接受pos输入(有或没有!)并对输入进行排序。追加时!对于我的pos输入,它只是将图表拉伸到非常远的地方,并将“原始人”放在顶行,而将“神话”放在底部。

代码语言:javascript
复制
digraph G {
layout="neato";
center="true";
fontpath="C:\Windows\Fonts";
node [fontsize="14"];
node [fontname="Abode Jenson Pro"];
graph [size="10,10!"];
rankdir=LR;
meme [shape=ellipse,label="Myth",rank="min",pos="3,0!"];
gene [shape=ellipse,label="Hominids",rank="max",pos="7,10!"];
meme -> gene [arrowsize="0.5",label="increases \n survival of",fontsize="8",constraint="true"];
gene -> meme [arrowsize="0.5",label="  generate \n venerate",fontsize="8",constraint="false"];
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-30 13:28:34

Graphviz将坐标计算为正交图形上的坐标,位于左下角。因此,在pos属性中,第一个坐标是从左侧到右侧的距离,第二个坐标是从底部到顶部的距离。

查看您当前的坐标值:

因此,您的节点显示为图片上的样子是合乎逻辑的:您迫使它们的位置如此!如果对pos值求逆,将得到所需的结果:

代码语言:javascript
复制
digraph G {
    layout="neato";
    center="true";
    fontpath="C:\Windows\Fonts";
    node [fontsize="14"];
    node [fontname="Abode Jenson Pro"];
    graph [size="10,10!"];
    meme [shape=ellipse,label="Myth",rank="min",pos="7,10"];
    gene [shape=ellipse,label="Hominids",rank="max",pos="3,0"];
    meme -> gene [arrowsize="0.5",label="increases \n survival of",fontsize="8",constraint="true"];
    gene -> meme [arrowsize="0.5",label="  generate \n venerate",fontsize="8",constraint="false"];
}

还要注意,您使用的rankdir属性在neato中不会有任何效果。正如文档中所述,它只适用于布局。

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

https://stackoverflow.com/questions/55905661

复制
相关文章

相似问题

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