【问题标题】:Rank attribute is confusing to me等级属性让我感到困惑
【发布时间】:2011-09-03 05:42:41
【问题描述】:

边缘的等级属性有五个值“same”、“min”、“source”、“max”、“sink”。 除了“相同”,我不知道什么时候使用其他值。

min
\begin{dotpic}
  rankdir=LR;
  size="7,5";
  node[shape=circle];
  C->A;
  {rank=min;A;B}
  B->D
  A->B;
\end{dotpic}

max
\begin{dotpic}
  rankdir=LR;
  size="7,5";
  node[shape=circle];
  C->A;
  {rank=max;A;B}
  B->D
  A->B;
\end{dotpic}

source
\begin{dotpic}
  rankdir=LR;
  size="7,5";
  node[shape=circle];
  C->A;
  {rank=source;A;B}
  B->D
  A->B;
\end{dotpic}

sink
\begin{dotpic}
  rankdir=LR;
  size="7,5";
  node[shape=circle];
  C->A;
  {rank=sink;A;B}
  B->D
  A->B;
\end{dotpic}

通过在我的 vim 环境中进行测试,我可以意识到这些值存在一些差异。 但不知道它们到底是干什么用的。

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:

    将排名留空或使用 rank=same 的使用频率要高得多。这其他四个通常只在特殊情况下使用。

    单独使用时,min 和 source 具有相同的功能:将所有这些节点置于最低排名(TB 图的第一行)。它们之间的区别在于 min 将允许其他子图处于最低等级。源不会。 Source 只允许 min 或 source 的其他子图处于最低等级。

    考虑下图sn-p:

    { rank=source; a -> b; }
    { rank=same;   c -> d; }
    

    您最终会得到 2 行。 a -> b 将高于 c -> d。


    如果您将 source 更改为 min,您只会得到一行。 a -> b 将在 c -> d 的左侧,都在最低排名中。

    { rank=min;    a -> b; }
    { rank=same;   c -> d; }
    

    Max 和 sink 是图底部的等价物。

    【讨论】:

    • 如果有人决定为 graphviz 写一份好的文档并将其出售——他将在一个月内成为亿万富翁。
    • 有人可以将其渲染为图像以便更容易理解吗?谢谢。
    • @RobertDROPTABLESTUDENTS 另见 D:\data\PRIVE\verhuizing\done 以进行渲染
    • 考虑第一个例子,在c -> d下显示的另外一对连接节点{ rank=???; e -> f; }的等级是多少?
    • @MarcoLackovic {rank=same; e->f; } 怎么样?
    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多