多个 TikZ 图片下方的简单图例框

多个 TikZ 图片下方的简单图例框

我在一个图中有三个子图,每个子图里面有三张 TikZ 图片和一个标题。现在我想为所有 TikZ 图片一起添加图例。

我搜索了其他帖子并尝试了不同的解决方案。但是我找不到任何可以让它工作的方法。我找到的最接近的方法是这个问题中提出的矩阵:TikZ 图片:如何添加图例?

我使用了右下方 TikZ 图片中带有标签但没有节点的矩阵,因为我没有任何符号。

\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}

\begin{figure}%
\centering
\begin{subfigure}[c]{\textwidth}
\begin{tikzpicture}
\draw[step=1cm,gray,very thin] (0,0) grid (4,4);
\end{tikzpicture}
\begin{tikzpicture}
\draw[step=1cm,gray,very thin] (0,0) grid (4,4);
\end{tikzpicture}
\begin{tikzpicture}
\draw[step=1cm,gray,very thin] (0,0) grid (4,4);
\matrix [draw,below left] at (current bounding box.south east) {
  \node [label=right:R...ROBOT] {}; \\
  \node [label=right:G...GOAL] {}; \\
  \node [label=right:O...OBSTACLE] {}; \\
};
\end{tikzpicture}
\end{subfigure}
\end{figure}
\end{document}

就我而言,这会破坏布局:

tikz 网格三乘三,图例放错位置

答案1

将三者结合起来tikzpicturescope如有需要,请使用。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}

\begin{figure}%
\centering
\begin{subfigure}[c]{\textwidth}
\begin{tikzpicture}
\draw[step=1cm,gray,very thin] (0,0) grid ++(4,4);
\draw[step=1cm,gray,very thin] (5,0) grid ++(4,4);
\draw[step=1cm,gray,very thin] (10,0) grid ++(4,4);

\matrix [draw,below left] at (current bounding box.south east) {
  \node [label=right:R...ROBOT] {}; \\
  \node [label=right:G...GOAL] {}; \\
  \node [label=right:O...OBSTACLE] {}; \\
};
\end{tikzpicture}
\subcaption{c}
\end{subfigure}
\end{figure}
\end{document}

相关内容