%%%use PDFLATEX
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usetikzlibrary{positioning}
\tikzset{edge from parent/.style=
{draw,
edge from parent path={(\tikzparentnode.east)
-- +(14pt,0)
|- (\tikzchildnode)}}}
\begin{document}\large
\vspace{1cm}
\begin{tikzpicture}
\tikzset{grow'=right,level distance=100pt}
\tikzset{execute at begin node=\strut}
\tikzset{every tree node/.style={anchor=base west}}
\Tree
[.\node(yawei){yawei};
[.\node(muqiu){muqiu}; ]
]
\begin{scope}[every node/.style={align=center, anchor=center, font=\normalsize\sffamily\bfseries,rectangle,draw,text width=1.4cm,}]
\node[above= 2mm of muqiu ] (thenode) {22};
\node[at =(thenode-|yawei)] {21};
\end{scope}
\end{tikzpicture}
\end{document}
나는 이런 스타일을 원한다
답변1
무엇을 하려는지 확실하지 않지만 이미 시작한 것처럼 더 많은 자녀를 추가하는 것은 어떻습니까?
% arara: pdflatex
\documentclass[tikz, border=5]{standalone}
\usepackage{tikz-qtree}
\usetikzlibrary{positioning}
\begin{document}\large
\begin{tikzpicture}
\tikzset{grow'=right,level distance=100pt}
\tikzset{execute at begin node=\strut}
\tikzset{every tree node/.style={anchor=base west}}
\Tree
[.\node(yawei){yawei};
[.\node(muqiu){muqiu};
[.\node(1){1}; [.\node(2){2}; [.\node(3){3}; [.\node(4){4}; ]]]]
]
]
\begin{scope}[every node/.style={align=center, anchor=center, font=\normalsize\sffamily\bfseries,rectangle,draw,text width=1.4cm,}]
\foreach \x/\y in {yawei/21, muqiu/22, 1/23, 2/24, 3/25, 4/26}{%
\node[above= 2mm of \x ] (the\x) {\y};
}
\end{scope}
\end{tikzpicture}
\end{document}
답변2
현재 코드에 노드를 추가하는 가장 간단한 방법은 아마도 노드를 22의 오른쪽에 배치하는 것입니다.
\documentclass[tikz,multi,border=10pt]{standalone}
\usepackage{tikz-qtree}
\usetikzlibrary{positioning}
\tikzset{%
edge from parent/.style={%
draw,
edge from parent path={(\tikzparentnode.east) -- +(14pt,0) |- (\tikzchildnode)},
},
}
\begin{document}\large
\begin{tikzpicture}
[
grow'=right,
level distance=100pt,
execute at begin node=\strut,
every tree node/.style={anchor=base west},
]
\Tree
[.\node(yawei){yawei};
[.\node(muqiu){muqiu}; ]
]
\begin{scope}[every node/.style={align=center, anchor=center, font=\normalsize\sffamily\bfseries, rectangle, draw, text width=1.4cm,}]
\node [above=2mm of muqiu] (thenode) {22};
\node at (thenode-|yawei) {21};
\node (next) [right=of thenode] {23};
\node (one after) [right=of next] {24};
\node [right=of one after] {25};
\end{scope}
\end{tikzpicture}
\end{document}
다이어그램에 실제로 분기가 없으면 그리드에 노드를 배치하거나 라이브러리를 사용하는 것이 더 쉬울 수 있습니다 chains
. 그러나 이를 위해서는 기존 코드를 다시 작성해야 하므로 사소한 추가만 필요한 경우 가치 있는 것보다 더 많은 문제가 발생할 수 있습니다.