Tikz 轴边界框与其他边界框不对齐。我该怎么办?

Tikz 轴边界框与其他边界框不对齐。我该怎么办?

我想在一个长文档中放置很多图片和图表。到目前为止,我正在使用带有 center-environment 的图形环境,但 tikz-axis-plots 与包含的 eps-pictures 或 tikz-pictures 对齐不佳。我读到PGFplot 占据整个 \linewidth,并与 tikzpicture 上的 y=轴对齐和 pgfplot-Manual(关于对齐),发现我可以使用 ylabel style={overlay} 和 yticklabel style={overlay}。

确切地说,情况有所好转,但图像仍然没有对齐。我希望网格的左右边框正好位于其他框的上方。请参阅我的示例以了解说明。

提前致谢。

    \documentclass{scrartcl} % Dokumentenklasse
    \usepackage[decimalsymbol=comma]{siunitx} % SI-Einheiten einheitlich setzen

    \usepackage{pgfplots,pgfmath} % Import der Plots aus Matlab
    \usepackage{tikz} % Import der Plots aus Matlab
    \usetikzlibrary{plotmarks} % Import der Plots aus Matlab
    \newlength\fheight % Plots aus Matlab immer gleich gross
    \newlength\fwidth % Plots aus Matlab immer gleich gross
    \setlength\fheight{6cm} % Plots aus Matlab immer gleich gross
    \setlength\fwidth{8cm} % Plots aus Matlab immer gleich gross
    \pgfplotsset{ % Komma statt Punkt als Dezimaltrennzeichen
      x tick label style={/pgf/number format/use comma},
      y tick label style={/pgf/number format/use comma}}

    \begin{document}
    \begin{figure}[!htb]
        \begin{center}
    \begin{tikzpicture}

    \begin{axis}[%
    scale only axis,
    width=\fwidth,
    height=\fheight,
    xmin=0, xmax=15,
    ymin=0, ymax=200,
    xlabel={$t/\SI{}{\minute}$},
    ylabel style={overlay},
    yticklabel style={overlay},
    ylabel={$d_\textrm{Nitrid}/\SI{}{\nano\meter}$},
    xmajorgrids,
    ymajorgrids,
    zmajorgrids]

    \addplot [
    color=black,
    only marks,
    mark=*,
    mark options={solid,fill=green}
    ]
    coordinates{
    (12,159.2)(12,160)(6,78.7)(6,78.7)(6,78.3)(6,77.8) 
    };
    \end{axis}
    \end{tikzpicture}
      \caption{Axis example}
        \label{asdf1}
      \end{center}
    \end{figure}



    \begin{figure}[!htb]
        \begin{center}
    \begin{tikzpicture}[even odd rule,rounded corners=2pt,x=10pt,y=10pt]
    \filldraw[fill=green] (0,0) rectangle (\fwidth,\fheight);
    \end{tikzpicture}
      \caption{Size of the pictures}
        \label{asdf2}
      \end{center}
    \end{figure}


    \end{document}

答案1

您所看到的是最左边的 x (!) 刻度标签的边界框:它将轴向右移动。

一个可能的解决方案是使用xticklabel style={overlay}

不过我的建议是使用

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

将 TikZ 配置为 1. 假设以下轴和 2. 在计算边界框时跳过该轴左侧和右侧的所有内容。

这种方法相当新,而且 pgfplots 的最新版本提供了更多文档。该方法将自动解决此类对齐问题(它甚至可以与图像外化一起使用)。

相关内容