graphviz - Graphviz:反转集群内的两个节点位置
问题描述
我正在尝试反转集群 ( ) 内的两个节点 ( producción
& ) 的位置。而不是在顶部和底部,我需要在顶部和底部。我怎样才能做到这一点?他们在一个集群中只是因为我认为这是正确的方法,但可能不是。因为我的声誉,我不能直接发布图片,所以我将链接留给 i.stack.imgur.com。funciones
cluster_fp
producción
funciones
funciones
producción
代码:
digraph tríada {
rankdir=LR;
edge [arrowhead=none];
label="* socialmente reconocido";
labeljust=left;
subgraph cluster_sinonimia_oa {
style=dashed;
label="sinonimia obra-texto";
subgraph cluster_texto {
style=striped;
label=texto;
selección [shape=rect];
}
obra [shape=rect, style=striped];
supuesto [label="supuesto\nexistencial", shape=plain];
}
subgraph cluster_autor {
style=striped;
label="autor*";
máquinas [shape=hexagon];
subgraph cluster_fp {
label="";
style=invis;
funciones [label="atribución o\napropiación", shape=plain];
producción [shape=plain];
}
subgraph cluster_sinonimia_nepa {
style=dashed;
label="sinonimia nombre-entidad-persona-autor";
personas [shape=hexagon];
entidad [shape=rect];
real [shape=diamond];
ficticia [shape=diamond];
nula [shape=diamond];
denotación [shape=plain];
nombre [shape=rect];
}
}
{personas máquinas} -> real [arrowhead=normal];
{real ficticia nula} -> entidad [arrowhead=normal];
nombre -> funciones -> obra -> supuesto -> selección -> producción -> entidad -> denotación -> nombre;
}
谢谢!
解决方案
基于大量实验,问题似乎是dot的算法“权重”多节点边多于两节点边。
这是一个经过大量编辑的输入文件,可以产生您想要的输出:
digraph tríada {
rankdir=LR;
edge [arrowhead=none];
label="* socialmente reconocido";
labeljust=left;
subgraph cluster_autor {
style=striped;
label="autor*";
subgraph cluster_sinonimia_nepa {
style=dashed;
label="sinonimia nombre-entidad-persona-autor";
personas [shape=hexagon];
entidad [shape=rect];
real [shape=diamond];
ficticia [shape=diamond];
nula [shape=diamond];
denotación [shape=plain];
nombre [shape=rect];
node [label="" shape=point width=.01]
// bogus1 & bogus2 are needed to flip/swap/invert the funciones & producción nodes
bogus1 bogus2
}
subgraph cluster_fp {
label="";
style=invis;
funciones [label="atribución o\napropiación", shape=plain];
producción [shape=plain];
}
máquinas [shape=hexagon];
{personas máquinas} -> real [arrowhead=normal];
{real ficticia nula} -> entidad [arrowhead=normal];
entidad -> denotación -> nombre
}
subgraph cluster_sinonimia_oa {
style=dashed;
label="sinonimia obra-texto";
subgraph cluster_texto {
style=striped;
label=texto;
selección [shape=rect];
}
obra [shape=rect, style=striped];
supuesto [label="supuesto\nexistencial", shape=plain];
}
nombre -> funciones -> obra -> supuesto -> selección
producción -> selección
entidad -> bogus1 [headclip=false ]
bogus1 -> bogus2 [tailclip=false, headclip=false]
bogus2 -> producción [tailclip=false]
}
(是的,大部分编辑都是不必要的)
推荐阅读
- r - 循环通过一些但不是所有的列?
- javascript - 使用 onClick 调用相同的函数适用于一件事而不是另一件事?
- mysql - 具有两个联结表的表的主键/外键
- django - 在 Formwizard 中动态填充 ChoiceField Formset
- html - 使用 VBA 访问搜索栏
- python - 由于代码错误,无法完成hackerrank问题
- javascript - 实时客户信息同步、最佳实践和建议
- android - 当android应用程序进入后台时,前台服务中的计划任务未按计划运行
- nginx - 使用 uwsgi 进行生产中的 Pytorch 模型预测
- python - 如何将字符串转换为结构化表格?