【问题标题】:Graphviz: Invert two nodes position inside a clusterGraphviz:反转集群内的两个节点位置
【发布时间】:2021-01-17 18:05:18
【问题描述】:

我正在尝试反转集群 (cluster_fp) 内的两个节点 (producción & funciones) 的位置。而不是顶部的producción 和底部的funciones,我需要顶部的funciones 和底部的producción。我怎样才能做到这一点?他们在一个集群中只是因为我认为这是正确的方法,但可能不是。因为我的名声,我不能直接发图片,所以我把链接留给 i.stack.imgur.com。

代码:

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

Live on dreampuf.github.io

谢谢!

【问题讨论】:

    标签: graphviz image-graphviz


    【解决方案1】:

    根据大量实验,问题似乎在于 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]
    }
    

    (是的,大部分编辑都是不必要的)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 2019-08-29
      相关资源
      最近更新 更多