![Tikz 轴边界框与其他边界框不对齐。我该怎么办?](https://linux22.com/image/239843/Tikz%20%E8%BD%B4%E8%BE%B9%E7%95%8C%E6%A1%86%E4%B8%8E%E5%85%B6%E4%BB%96%E8%BE%B9%E7%95%8C%E6%A1%86%E4%B8%8D%E5%AF%B9%E9%BD%90%E3%80%82%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F.png)
我想在一个长文档中放置很多图片和图表。到目前为止,我正在使用带有 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 的最新版本提供了更多文档。该方法将自动解决此类对齐问题(它甚至可以与图像外化一起使用)。