如何使用 TikZ 绘制类似网站 http://phdtree.org/scholar/ng-andrew-y/ 的家谱?

如何使用 TikZ 绘制类似网站 http://phdtree.org/scholar/ng-andrew-y/ 的家谱?

有人能帮我画出网站上的家谱吗http://phdtree.org/scholar/ng-andrew-y/由 TikZ 提供?还鼓励使用任何其他 (latex) 工具。

在此处输入图片描述

答案1

这是一个genealogytree版本。我还添加了子项安德鲁·Y·Nq正如 OP 在评论中所要求的那样。

在此处输入图片描述

\documentclass{article}
\usepackage[all]{genealogytree}

\begin{document}

\begin{genealogypicture}[
  processing=tcbox*,           % draw nodes with tcolorbox
  node size from=8mm to 5cm,   % width of nodes
  level size=6mm,              % height of nodes
  level distance=20mm,         % generation distance
  parent distance=5mm,child distance=5mm,,further distance=5mm,%  horizontal distances
  box={blanker,before upper=\strut,borderline south={0.4pt}{4.5pt}{black!40}},
  edges={mesh={to path={.. controls +(270:0.8) and +(90:0.8) .. (\tikztotarget)}},
         foreground={cyan,thick},
         no background },
]
sandclock{
  child[family extra edges={Nq}{ch2}{foreground=yellow!95!black}]{
    g[id=Nq]{Andrew Y. Nq}
    c[id=ch1]{Child 1 Name}
    child{
      g[id=ch2]{Child 2 Name}
      c[id=grch]{Grandchild Name}
    }
  }
  parent{
    g[id=Jordan]{Michael I. Jordan}
    parent[family extra edges={Barto}{Jordan}{foreground=green}]{
      g[id=Barto]{Andrew Gehret Barto}
      parent{
        g[id=Zeigler]{Bernard Philip Zeigler}
        p[id=Holland]{John Henry Holland}
      }
    }
    parent{
      g[id=Rumelhart]{David Everett Rumelhart}
      parent[family extra edges={Elliott}{Estes}{foreground=red}]{
        g[id=Estes]{William K. Estes}
        p[id=Skinner]{Burrhus F. Skinner}
        p[id=Elliott]{Richard M. Elliott}
      }
    }
  }
}
\end{genealogypicture}

\end{document}

答案2

这是你想要的吗

\documentclass{article}
\usepackage{tikz}
\pagestyle{empty}
\begin{document}

\centering

\begin{tikzpicture}
[parent anchor=north,child anchor=south,grow=north,
level distance=30mm,
level 1/.style={sibling distance=70mm},
level 2/.style={sibling distance=50mm},
level 3/.style={sibling distance=30mm},
every node/.style={text=black,fill=white,rectangle},
edge from parent path={(\tikzparentnode.north)..controls +(0,0.5) and +(0,-0.5).. (\tikzchildnode.south)},
edge from parent/.style={draw,thick}]
\begin{scriptsize}
\node {Andrew Y.Nq}
child[cyan]{node {Michael l.Jordan}
     child {node {David Everett Rumelhart} 
           child {node {Welliam K.Estes}
               child[red] {node  {Rechard M.Elliotte}}
               child {node  {Burrhus F.Skinner}}}}
     child[green] {node {Andrew Gehret Barto}
           child[cyan] {node  {Bernard Philip Zeigler} 
               child {node  {John Henry holland}}}}
      };
\end{scriptsize}
\end{tikzpicture}

\end{document} 

在此处输入图片描述

答案3

这是一个forest版本:

森林家庭

\PassOptionsToPackage{rgb,x11names,svgnames}{xcolor}
\documentclass[tikz,border=5pt,multi]{standalone}
\usepackage{forest}
\standaloneenv{forest,tikzpicture}
\begin{document}

  \begin{forest}
    for tree={
      grow=90,
      edge={draw=DeepSkyBlue2, thick},
      parent anchor=north,
      child anchor=south,
      l sep+=50pt,
      tier/.wrap pgfmath arg={level#1}{level()},
      if n children=2{
        for children={
          edge path={
            \noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) [out=90, in=-90] to (.child anchor)\forestoption{edge label};
          },
        },
      }{},
    }
    [Andrew Y.\ Ng
      [Michael I.\ Jordan
        [David Everett Rumelhart
          [Welliam K.\ Estes
            [Rechard M. Elliotte, edge={draw=red}
            ]
            [Burrhus F.\ Skinner
            ]
          ]
        ]
        [Andrew Gehret Barto, edge={draw=SpringGreen2}
          [Bernard Philip Zeigler
            [John Henry Holland
            ]
          ]
        ]
      ]
    ]
  \end{forest}

\end{document}

相关内容