我在一个图中有三个子图,每个子图里面有三张 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}
就我而言,这会破坏布局:
答案1
将三者结合起来tikzpicture
。scope
如有需要,请使用。
\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}