我使用了以下代码:
\begin{figure}[h]
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2);
\draw [dashed] (0,1.5) -- (4,4);
\end{tikzpicture}
\caption{No Interaction} \label{fig:M1}
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2.5);
\draw [dashed] (0,1.5) -- (4,3.5);
\end{tikzpicture}.
\caption{Interaction} \label{fig:M2}
\end{figure}
插入两个图形,但是它将它们一个放在另一个的上方,而我希望它们彼此相邻但有独立的标签,这可能吗?
答案1
A 的tikzpicture
作用基本上就像一个字母,因此如果您想将两个字母并排放置,则不应使用任何插入垂直空间或留下空行的命令。在第一个示例中,我删除了第一个标题并将其与第二个标题合并,同时删除了中间的空行。
第二种解决方案展示出了使用subfigure
fromsubcaption
包的一种可能方法:将每个包放入tikzpicture
一个subfigure
环境中并\caption
为每个包提供一个。
\documentclass{article}
\usepackage{tikz}
\usepackage{subcaption}
\begin{document}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2);
\draw [dashed] (0,1.5) -- (4,4);
\end{tikzpicture}% NO EMPTY LINE HERE!!!!
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2.5);
\draw [dashed] (0,1.5) -- (4,3.5);
\end{tikzpicture}
\caption{Left: No Interaction. Right: Interaction} \label{fig:M}
\end{figure}
\begin{figure}[h]
\centering
\begin{subfigure}[b]{0.4\linewidth}
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2);
\draw [dashed] (0,1.5) -- (4,4);
\end{tikzpicture}%
\caption{No interaction} \label{fig:M1}
\end{subfigure}
\begin{subfigure}[b]{0.4\linewidth}
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0) node[right] {$x$};
\draw[->] (0,-0.5) -- (0,4) node[above] {$y$};
\draw (0,0.5) -- (4,2.5);
\draw [dashed] (0,1.5) -- (4,3.5);
\end{tikzpicture}
\caption{Interaction} \label{fig:M2}
\end{subfigure}
\caption{Interaction figures}
\end{figure}
\end{document}