使用 graphviz 将箭头移动到图形底部

使用 graphviz 将箭头移动到图形底部

我试图用它graphviz创建以下图表:

digraph G {
    rankdir=TB;
    size="8,5"
    node [shape = circle]; 0 1 2 3 4 5
    node [shape = circle];
    1 -> 2 [];
    2 -> 3 [];
    3 -> 4 [];
    4 -> 5 [];
    5 -> 1 [];
    0 -> 1 [];
    0 -> 2 [];
    0 -> 3 [];
    0 -> 4 [];
    0 -> 5 [];
   {rank=same 5; 2; 3; 4; 1; }
}

输出:

在此处输入图片描述

我怎样才能将边缘5->1移到底部?因此它将类似于以下内容:

在此处输入图片描述

答案1

我无法告诉您如何操纵 graphwiz,但是即使没有这个工具也可以轻松完成这些事情。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{positioning,chains}
\begin{document}
\begin{tikzpicture}[circ/.style={draw,thick,minimum size=1cm,circle,align=center},
cc/.style={on chain,join,circ},start chain=going right,
every join/.append style={-latex,thick},
node distance=8mm,font=\sffamily]
 \foreach \X in {1,...,5}
 {\node[cc] (\X){\X};}
 \node[above=of 3,circ] (0){0}; 
 \foreach \X in {1,...,5}
 {\draw[-latex,thick] (0) -- (\X);}
 \draw[-latex,thick] (5) to[out=-135,in=-45] (1);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

:n通过添加、:ne:e、… 作为边的罗盘方向来设置边的方向。因此,5 -> 1用替换5:s -> 1如下:

digraph G {
  rankdir = TB
  node [shape = circle]
  1 -> 2
  2 -> 3
  3 -> 4
  4 -> 5
  5:s -> 1
  0 -> 1
  0 -> 2
  0 -> 3
  0 -> 4
  0 -> 5
  {rank = same 1 2 3 4 5 }
}

Graphviz 点图

相关内容