垂直对齐 tikz 图中节点

垂直对齐 tikz 图中节点

我已经开始在 TikZ 中绘制自动机,因为它可以帮我定位节点,并且通常在选项方面只需要很少的后期处理。

我知道我可以使用该指令强制节点位于同一水平层[same layer]

在此处输入图片描述

我如何垂直执行此操作(即对齐 1,3,5 和 2,4)?

梅威瑟:

\documentclass[10pt,letterpaper]{article}
\usepackage{tikz}
\usetikzlibrary{graphdrawing,positioning,graphs}
\usegdlibrary{layered,trees}
\begin{document}
\begin{tikzpicture}[baseline]
    \begin{graph}[layered layout]
                    {1->2->3->4,
                    2->4,1->4,
                    1->3,4->5,2->5,
                    {[same layer]1,2},
                    {[same layer]3,4}
                    };
                    \end{graph}
\end{tikzpicture}
\end{document}

答案1

像这样?

在此处输入图片描述

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\begin{tikzpicture}
    \begin{graph}[grid placement,wrap after=2]{
        1 -> 2 -> 3 -> 4 -> 5, 1 -> 3, 1 -> 4, 2 -> 4, 2 -> 5};
    \end{graph}
\end{tikzpicture}
\end{document}

更多细节

你可以

  • 为节点分配一个班次。
  • 用于/声明一个洞。实际上,nema/txet声明了一个名为 nema 的节点,但显示为 txet。

\begin{tikzpicture}
    \begin{graph}[grid placement,wrap after=4]{
        /, 2             , 3              , /,
        5, 6[at={(.5,0)}], 7[at={(0,-.5)}], 8,
        9,10[at={(0,.5)}],11[at={(-.5,0)}],12,
        /,14             ,15};
    \end{graph}
\end{tikzpicture}

更多细节

粗略地说,TikZ 节点由两部分组成:其形状和显示的文本。文本部分通常会显示,而形状部分会在您说 时绘制[draw]。停止它的一个简单方法是说[white],这会使形状部分绘制为白色。或者更强烈地说,[opacity=0]如果您的背景不是白色。

至于展开节点,您可以调整内置参数,例如[branch down=2cm,grow right=2cm]

答案2

您还可以使用以下技巧:使用same layer水平对齐,但也对齐rotate=90整个图形,以便水平变为垂直(这不会旋转节点内容,这对于这种情况来说是完美的):

\documentclass[10pt,letterpaper]{article}
\usepackage{tikz}
\usetikzlibrary{graphdrawing,positioning,graphs}
\usegdlibrary{layered,trees}
\begin{document}
\begin{tikzpicture}[baseline,rotate=90]
    \begin{graph}[layered layout]
                    {1->2->3->4,
                    2->4,1->4,
                    1->3,4->5,2->5,
                    {[same layer]1,3,5},
                    {[same layer]2,4}
                    };
                    \end{graph}
\end{tikzpicture}
\end{document}

生成:

在此处输入图片描述

相关内容