更新答案(当前森林)

更新答案(当前森林)

我是 Latex 的新手。我怎样才能制作如下所示的层次树状图?在此处输入图片描述

答案1

更新答案(当前森林)

此版本使用该edges库。如果出现错误,请使用以下代码,或者最好更新您的 TeX 安装。

\documentclass[tikz,border=10pt]{standalone}
\usepackage[edges]{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{forest}
  for tree={
    align=center,
    font=\sffamily,
    edge+={thick, -{Stealth[]}},
    l sep'+=10pt,
    fork sep'=10pt,
  },
  forked edges,
  if level=0{
    inner xsep=0pt,
    tikz={\draw [thick] (.children first) -- (.children last);}
  }{},
  [Angiography Based On Medical Imaging Modalities
    [Biplane\\X-Ray/DSA]
    [Magnetic\\Resonance
      [Contrast Enhanced]
      [Non-Contrast Enhanced
        [Time of Flight]
        [Black-Blood]
        [Phase Contrast]
        [T2]
        [T2\textsuperscript{*}]
      ]
    ]
    [Computed-\\Tomography, calign with current]
    [Ultrasound]
    [Fusion of\\Modalities]
  ]
\end{forest}
\end{document}

与当前森林

原始答案

一个稍微不同的forest解决方案,用于tikz在根部下方绘制线条。这也以一种我认为比目标图像中显示的更整齐的方式排列事物,但显然,口味不同,所以你的公里数可能会有所不同。

\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{forest}
  for tree={
    align=center,
    parent anchor=south,
    child anchor=north,
    font=\sffamily,
    edge={thick, -{Stealth[]}},
    l sep+=10pt,
    edge path={
      \noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) -- +(0,-10pt) -| (.child anchor)\forestoption{edge label};
    },
    if level=0{
      inner xsep=0pt,
      tikz={\draw [thick] (.south east) -- (.south west);}
    }{}
  }
  [Angiography Based On Medical Imaging Modalities
    [Biplane\\X-Ray/DSA]
    [Magnetic\\Resonance
      [Contrast Enhanced]
      [Non-Contrast Enhanced
        [Time of Flight]
        [Black-Blood]
        [Phase Contrast]
        [T2]
        [T2\textsuperscript{*}]
      ]
    ]
    [Computed-\\Tomography, calign with current]
    [Ultrasound]
    [Fusion of\\Modalities]
  ]
\end{forest}
\end{document}

tikz 下划线

答案2

% arara: pdflatex

\documentclass{standalone}
\usepackage{forest}

\begin{document}
\begin{forest}
for tree={%
    edge path={\noexpand\path[\forestoption{edge}] (\forestOve{\forestove{@parent}}{name}.parent anchor) -- +(0,-12pt)-| (\forestove{name}.child anchor)\forestoption{edge label};}
}
[
\underline{A}, calign=child,calign child=3
[B]
[M
[C]
[N
[T]
[B]
[P]
[T2]
[T2*]
]
]
[C]
[U]
[F]
]
\end{forest}
\end{document}

在此处输入图片描述

答案3

tikz-qtree此类图表可以使用(其中包括)制作:

在此处输入图片描述

\documentclass[tikz, border=6pt]{standalone}
\usepackage{tikz-qtree,ulem}

\begin{document}

\begin{tikzpicture}[level distance=40pt]
  \tikzset{edge from parent/.style={draw,->, 
    edge from parent path={(\tikzparentnode.south) -- +(0,-8pt) -| (\tikzchildnode)}}}
  \tikzset{every tree node/.style={align=center}}
  \tikzset{every level 1 node/.style={font=\small, text width=2cm}}
  \tikzset{every level 2 node/.style={font=\small, text width=4cm}}

  \Tree [.{\uline{Angiography Based On Medical Imaging Modalities}}
    [.{Biplane\\X-ray/DSA} ]
    [.{Magnetic\\Resonance} [.{Contrast Enhanced} ]
                            [.{Non-Contrast Enhanced} [.{Time of Flight} ]
                                                      [.{Phase Contrast} ] ]]
    [.{Computed-\\Tomography} ]
    [.{Ultrasound} ]
    ]
\end{tikzpicture}

\end{document}

相关内容