两张图的组织

两张图的组织

如何在同一张图中表示用 TikZ 创建的两个图形?

图的源代码如下:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}{TITLE}

    \begin{figure}[H]
    \begin{center}
              \begin{tikzpicture} [sibling distance=1.5cm]

    %          \node [size=0.3cm](topnode) at (0,5) {\{1,2,3\}} 
          \node (topnode) at (0,5) {\{1,2,3\}} 
              child { node[size=0.3cm] {\{1,2\}\{3\}}}
              child { node[size=0.3cm] {\{1,3\}\{2\}}}
              child { node[size=0.3cm] {\{1\}\{2,3\}}}
              ;
              \node [size=0.3cm](topnode) {\{1\}\{2\}\{3\}}
    %         \node[minimum width=3cm]  at (0,5) {\{\{1,2,3\}\}}
              ;
              \foreach \x in {-3}{
              \draw  (topnode-1) -- (bottomnode-\x);
              \draw  (topnode-3) -- (bottomnode-\x);
              \draw  (topnode-2) -- (bottomnode-\x);
              }

              \end{tikzpicture}
    \end{center}


\end{frame}

\end{document}

像那样

在此处输入图片描述

答案1

\begin{tikzpicture} ... \end{tikzpicture}这是一个简单的观察,但你可以在有用的@ClaudioFiandrino 的答案中添加将两个图表插入到相同环境中以将它们分开的可能性\begin{scope}[shift={(5,0)}] ... \end{scope}

\documentclass{beamer}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}{TITLE}

\begin{center}
 \begin{tikzpicture} [sibling distance=1.5cm]
 \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
    ;
  \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);

  \begin{scope}[shift={(5,0)}]

  \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
    ;
  \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);

  \end{scope}

  \end{tikzpicture}
  \end{center}

 \end{frame} 

\end{document}

按照这种方式,您可以处理一个图相对于另一个图的相对位置,而不仅仅是 x 轴方向。(本例中的图像与 Claudio 之前显示的图像相同。)

答案2

我尝试猜测请求并重现上传的图片。

对于该示例,不需要从以下代码中获取的确切语法在 TikZ 中绘制许多节点具有相同子节点的树使用 Latex 的树,所以在我的回答中我简化了它。

基本上,如果问题是:“如何将这两个图并排放置”,您可以采用两种方法:

  1. 将两张图片并排插入(可能用 将\hspace它们分开);
  2. 使用columns环境。

正确的方法取决于您的需要:如果您只需要显示两张图片,则可以使用第二张图片,而如果您还需要插入一些文本,也许第一种方法更好。

方法 1

代码:

\documentclass{beamer}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}{TITLE}

\begin{center}
 \begin{tikzpicture} [sibling distance=1.5cm]
 \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
    ;
  \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);
 \end{tikzpicture}
 \hspace{1cm}
 \begin{tikzpicture} [sibling distance=1.5cm]
  \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
     ;
  \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);
 \end{tikzpicture}
\end{center}
\end{frame}
\end{document}

结果:

在此处输入图片描述

方法 2

代码:

\documentclass{beamer}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}{TITLE}
\begin{columns}[T]
\begin{column}{0.5\textwidth}
\centering
  \begin{tikzpicture} [sibling distance=1.5cm]
  \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
     ;
 \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);
 \end{tikzpicture}
\end{column} 
\begin{column}{0.5\textwidth}
\centering
  \begin{tikzpicture} [sibling distance=1.5cm]
  \node (topnode) at (0,5) {1}
     child { node[minimum size=0.3cm] {2}}
     child { node[minimum size=0.3cm] {3}}
     child { node[minimum size=0.3cm] {4}}
     ;
 \node [minimum size=0.3cm](bottomnode) {5};
  \draw  (topnode-1) -- (bottomnode);
  \draw  (topnode-3) -- (bottomnode);
  \draw  (topnode-2) -- (bottomnode);
 \end{tikzpicture}
\end{column} 
\end{columns} 
\end{frame}
\end{document}

结果:

在此处输入图片描述

相关内容