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