pgfplot:将轴置于标题上方的中心,而不修剪轴

pgfplot:将轴置于标题上方的中心,而不修剪轴

有没有一种稳定的方法可以将轴(没有轴标签)置于图形标题上方,而无需使用

\begin{tikzpicture}[trim axis left, trim axis right]

? 修剪轴工作正常,直到每行没有多个 tikzpicture。

左轴如我希望的那样居中(通过修剪);右轴没有居中。

在此处输入图片描述

当我修剪正确的一个时,我得到了这个结果

在此处输入图片描述

这就是我想要的(伪造的)方式

在此处输入图片描述

抱歉,这是 MWE:

\usepackage{subfigure}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}

\newcommand{\pgfplot}{
\begin{tikzpicture}
    \begin{axis}[
        width=.48\textwidth,
        %height=\figureheight,
        xlabel=$x$,
        ylabel=$y$]
        \addplot[smooth,mark=*,blue] plot coordinates {
            (0,2)
            (2,3)
            (3,1)
    };
  \end{axis}
\end{tikzpicture}
}

\begin{document}

\begin{figure}[H]%
\begin{center}
\subfigure[Caption 1]{
    \pgfplot
}
\subfigure[Caption 2]{
    \pgfplot
}\\
\caption{Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption.}%
\end{center}
\end{figure}

\end{document}

答案1

首先,您有一些虚假的行尾空格。其次,您可以将\hfil\hfill与 一起使用\begin{tikzpicture}[trim axis left, trim axis right]。第三,subfigure已弃用,请改用subfig

\documentclass{article}
\usepackage{subfig}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}   %% better use 1.11 instead of newest

\newcommand{\pgfplot}{%      %%<----- put % here
\begin{tikzpicture}[trim axis left, trim axis right]
    \begin{axis}[
        width=.48\textwidth,
        %height=\figureheight,
        xlabel=$x$,
        ylabel=$y$]
        \addplot[smooth,mark=*,blue] plot coordinates {
            (0,2)
            (2,3)
            (3,1)
    };
  \end{axis}
\end{tikzpicture}%   %%<----- put % here
}

\begin{document}

\begin{figure}[H]%
%\begin{center}
\centering    %% use this instead of \begin{center}
\subfloat[Caption 1]{\pgfplot}
\hfil    %% or \hfill
\subfloat[Caption 2]{\pgfplot}%\\
\caption{Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption Overall caption.}%
%\end{center}
\end{figure}

\end{document}

在此处输入图片描述

相关内容