在 tikz 图片中定位 \graph (相对)

在 tikz 图片中定位 \graph (相对)

我想绘制两个合并的图形(实际上,这是一棵大树,页面放不下,见奖励问题)。但是,我找不到定位 的方法\graph

以下是一个例子:

\RequirePackage{luatex85}
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing,graphdrawing.trees}
\begin{document}
\begin{tikzpicture}
      \begin{scope}%
        [level distance=10mm,text depth=.1em,text height=.5em]
        \graph[tree layout, grow=up]{
          x -- {y,z}
        };
        \graph[tree layout, grow=down]{
          a -- {b,c}
        };
      \end{scope}
\end{tikzpicture}
\end{document}

如何在x和之间放置一个节点a(即,x 在该节点上方,a 在该节点下方)?

附加问题:如上所述,我提出这个问题的原因是我想布局一棵不适合一页的树。我的想法是将一棵子树向上移动并将其旋转。有没有一种惯用的方法来实现这一点\graph

答案1

您还可以使用手册中所说的子布局绘制图形,如下所示:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing,graphdrawing.trees,graphdrawing.layered}
\begin{document}
\begin{tikzpicture}
    \begin{scope}[level distance=10mm,text depth=.1em,text height=.5em]
        \graph[layered layout]{
            //[tree layout, grow=up] { x -- {y,z} };
            x -- A -- a;
            //[tree layout, grow=down] { a -- {b,c} };

        };
    \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

\graph就是\path graph,所以你可以\path (x,y) graph...定位它们。我认为默认坐标是 (0,0)。

\RequirePackage{luatex85}
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing,graphdrawing.trees}
\begin{document}
\begin{tikzpicture}
      \begin{scope}%
        [level distance=10mm,text depth=.1em,text height=.5em]
        \node (a) {A};
        \path (0,0.5) graph[tree layout, grow=up]{
          x -- {y,z}
        };
        \path (0,-0.5) graph[tree layout, grow=down]{
          a -- {b,c}
        };
      \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容