帮助水平 Tikz 树图

帮助水平 Tikz 树图

我需要策划这样的事情Tikz 图片

到目前为止,我已经能够使用下面的代码进行绘图。我找不到一种方法来包含垂直树

\begin{tikzpicture}[
every node/.style = {draw,rounded corners,fill=red!30,text width=18mm,minimum height=9mm,align=center,drop shadow},
>=Stealth,level distance = 30mm,sibling distance=13mm]

\begin{scope}[grow'=right,edge from parent fork right,->]
\node (root) at (0,0) {}
child  {node (b1) {B}};
\end{scope}
\begin{scope}[grow=left,edge from parent fork left,->]
\node (root) at (0,0) {Loschmidt Echo}
child  {node (a1) {C}};
\end{scope}            
\end{tikzpicture}

答案1

要添加箭头:

  • 使用库arrows.meta
  • 定义绘图样式,例如arr
  • 用于格式化连接

请在手册中查找更多详细信息tikz,例如第 3.3 章的简介:https://ctan.org/pkg

带箭头

\documentclass[10pt, border=3mm]{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}% <<<

\begin{document}
  \tikz [draw, 
         box/.style = 
         { 
           fill=red!30,
           minimum width=18mm,       
         },
         rnd/.style =
         { 
           rounded corners,
           fill=red!30,
           minimum width=18mm,       
         },
         arr/.style={->, >=Latex}% <<<
        ] {
    \node [box] (root) at (0,0) {C (root)};
    \node [rnd] (D) [below=of root] {D};
    \node [box] (A) [right=of root] {A};
    
    \draw [arr] (root) -- (D);% <<<
    \draw [arr] (root) -- (A);
  }
\end{document}

答案2

尝试一些更简单的方法,例如像这样,这只是一种方法。并且请...提供完整的代码。

我引入的更改:

  • 放弃了要孩子和兄弟姐妹的想法
  • 根据需要定义节点样式
  • 使用相对定位

例子

\documentclass[10pt, border=3mm]{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
  \tikz [draw, 
         box/.style = 
         { 
           fill=red!30,
           minimum width=18mm,       
         },
         rnd/.style =
         { 
           rounded corners,
           fill=red!30,
           minimum width=18mm,       
         }       
        ] {
    \node [box] (root) at (0,0) {C (root)};
    \node [rnd] (D) [below=of root] {D};
    \node [box] (A) [right=of root] {A};
    
    \draw (root) -- (D);
    \draw (root) -- (A);
  }
\end{document}

相关内容