参考 pgfplots 的 groupplot 及其子标题

参考 pgfplots 的 groupplot 及其子标题

我使用 pgfplots 创建了一个组图。为了引用每个图,我在每个图中的节点内添加了一个子标题。

\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}[h]
    \begin{tikzpicture}
        \begin{groupplot}[group style={group size=1 by 2}]
            \nextgroupplot
            \node [text width=1em,anchor=north west] at (rel axis cs: 0,1) {\captionof{subfigure}{\label{fig:a}}};
            \addplot plot coordinates {(0,0) (1,1) (2,2) (3,3)};
            \nextgroupplot
            \node [text width=1em,anchor=north west] at (rel axis cs: 0,1) {\captionof{subfigure}{\label{fig:b}}};
            \addplot plot coordinates {(0,0) (1,1) (2,4) (3,9)};
        \end{groupplot}
    \end{tikzpicture}
    \caption{Figure}
\end{figure}
Figure \ref{fig:a} and \ref{fig:b}?!?
\end{document}

问题是:计数器错误。子图 1a 被引用为 0a。我的整个文档中的行为相同,例如 4b 得到 3b。

副标题引用错误。

答案1

使用\subcaption{\label{fig:a}}\subcaption{\label{fig:b}}设置子标题。

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}% <- added, current version is 1.13
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}[htb]
    \begin{tikzpicture}
        \begin{groupplot}[group style={group size=1 by 2}]
            \nextgroupplot
            \node [text width=1em,anchor=north west] at (rel axis cs: 0,1)
                {\subcaption{\label{fig:a}}};%<- changed
            \addplot plot coordinates {(0,0) (1,1) (2,2) (3,3)};
            \nextgroupplot
            \node [text width=1em,anchor=north west] at (rel axis cs: 0,1) 
                {\subcaption{\label{fig:b}}};%<- changed
            \addplot plot coordinates {(0,0) (1,1) (2,4) (3,9)};
        \end{groupplot}
    \end{tikzpicture}
    \caption{Figure}
\end{figure}
Figure \ref{fig:a} and \ref{fig:b}?!?
\end{document}

请注意,设置一个值很有用compat

相关内容