qtree에서 공간을 절약하는 방법

qtree에서 공간을 절약하는 방법

Qtree가 있다고 가정해 보겠습니다.

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree,tikz-qtree-compat}
\begin{document}
\begin{tikzpicture}
\tikzset{
    % Define arrow style
    pil/.style={
           ->,
           thick,
           shorten <=2pt,
           shorten >=2pt,},
    edge from parent/.style={draw, edge from parent path={(\tikzparentnode.south)
        -- +(0,-8pt)
        -| (\tikzchildnode)}},
    level 1/.style={sibling distance=0.5cm}
}
\Tree
[.{1}
    [.1-1 ]
    [.1-2 ]
    [.1-3
        [.1-3-1 ]
        [.1-3-2 ]
        [.1-3-3 ]
        [.1-3-4 ]
    ]
    [.1-4 ]
    [.1-5 ]
]
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

  1. 노드 1-2와 1-4를 1-3에 더 가깝게 이동할 수 있습니까?

    여기에 이미지 설명을 입력하세요

  2. 1-3개의 하위 트리를 수직으로 성장시키는 것이 가능합니까? 그래서 다음과 같은 결과를 얻을 수 있습니다:

    여기에 이미지 설명을 입력하세요

나는 그것이 qtrees수직적으로나 수평적으로 성장할 수 있다는 것을 알고 있습니다. 하지만 하이브리드 트리를 만드는 방법은 무엇입니까?

답변1

일반 TikZ및 해당 trees라이브러리를 사용하면 다음과 같은 한 가지 가능성이 있습니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees,positioning}

\begin{document}

\begin{tikzpicture}[edge from parent fork down,node distance=0.5cm,sibling distance=1cm]
\node {1}
child {node {1-1}}
child {node {1-2}}
child {node (13) {1-3}}
child {node {1-4}}
child {node {1-5}}
;
\node [below = of 13, xshift=30pt] (131) {1-3-1};
\node [below = of 131] (132) {1-3-2};
\node [below = of 132] (133) {1-3-3};
\node [below = of 133] (134) {1-3-4};
\foreach \value in {1,...,4}
  \draw (13.south) |- (13\value.west);
\end{tikzpicture}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보