如何在一个节点中绘制多张图片

如何在一个节点中绘制多张图片

我正在尝试使用 TikZ 绘制带有图片的图表。我知道人们可以直接\includegraphics在节点内使用,以便将图片放置在那里。我的问题是,如何生成一个矩形节点并在其中放置 2 个(或更多)图片,图片应从上到下放置,而不是从左到右放置(当我仅使用 2 时得到的结果\includegraphics)。

这是一个例子,考虑顶部的图片称为top_pic.png,并bottom称为botton_pic.png(另一个问题:我如何像图中一样放置变换符号?)

在此处输入图片描述

答案1

一般来说:如果你想要在节点中换行,请查看TikZ 节点中的手动/自动换行和文本对齐. 请参阅 Stefan 的回答作为示例。

但这里不一定方便,除非您已经将变换符号作为图像或字体中的符号。使用单独的节点可能更好,另一种选择是使用单独的节点,\matrix如以下示例所示。可以使用arrows.meta库中的箭头提示绘制符号。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\matrix [draw] {
  \node {\includegraphics[width=5cm]{example-image-a}}; \\
  \draw [Circle-{Circle[open]}, thick] (0,0) -- (0,0.75); \\
  \node {\includegraphics[width=5cm]{example-image-b}}; \\
};
\end{tikzpicture}
\end{document}

答案2

您可以调整图形。

在此处输入图片描述

\documentclass[tikz,border=3.14pt]{standalone}
\usetikzlibrary{fit,positioning}
\begin{document}
\begin{tikzpicture}
\node (imgA){\includegraphics[width=6cm]{example-image-a}};
\node[below=1.5cm of imgA] (imgB){\includegraphics[width=6cm]{example-image-b}};
\node[circle,draw,thick,minimum width=2mm,below=1mm of imgA]  (circleA) {};
\node[circle,draw,fill,minimum width=2mm,above=1mm of imgB]  (circleB) {};
\draw (circleA) -- (circleB);
\node[draw,thick,fit=(imgA) (imgB)]{};
\end{tikzpicture}
\end{document}

答案3

您可以将图片放在节点内的表格中。然后使用符号作为变换符号,例如来自trfsigns.sty。(\raisebox最后一行的是为了删除最后一行添加的额外深度。我使用 的深度\box11,即\strutbox,来获取深度)。

\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{trfsigns}
\begin{document}
\begin{tikzpicture}
  \node[draw]{%
    \begin{tabular}[b]{@{}c@{}}
      \includegraphics[width=0.5\linewidth]{example-image-a}\\
      \rotatebox{90}{$\Laplace$}\\
      \raisebox{-\dp11}{\includegraphics[width=0.5\linewidth]{example-image-b}}
    \end{tabular}%
  };
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案4

您还可以使用多部分节点,请参阅PGF 手册第 67.6 节 p723。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}
  \node[rectangle split, draw, rectangle split parts = 3]{
  \includegraphics[width=5cm]{example-image-a}
  \nodepart{two}
  \includegraphics[width=5cm]{example-image-b}
  \nodepart{three}
  \includegraphics[width=5cm]{example-image-c}
        };
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容