我的目标是将图例框与图表顶部对齐,以便它与顶部轴框架完全齐平。
下面的 MWE 乍一看没问题,但仔细观察时,会发现有一个小的垂直偏移(见图)。一旦看到,就无法忽视。
\documentclass[tikz,margin=10pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={
legend pos=outer north east
}
]
\addplot[color=gray!50,mark=x] coordinates {
(1,1)
};
\addlegendentry{Stuff}
\addplot[color=gray,mark=x] coordinates {
(2,2)
};
\addlegendentry{Other stuff}
\end{axis}
\end{tikzpicture}
\end{document}
我从其他答案中知道图例是一个 TikZ 矩阵。我知道可以使用坐标(轴 cs 或其他)来定位图例。但即使使用如下所示的硬编码定位,边框也不会完全对齐。
\begin{axis}[
legend style={
at={(axis cs:2.6,2.1)}
},
ymax=2.1
]
如果相关的话,我正在使用 TeX Live 2019 安装。
答案1
欢迎来到 TeX.SE。添加outer sep = 0pt
您的图例样式可能是一个合适的解决方案。
outer sep=0pt
我添加了一些代码,将图例与画布边界齐平,并表明在添加到样式时画布的顶部和图例对齐。
\documentclass[tikz,margin=10pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={
outer sep=0pt,
legend pos=outer north east
}
% legend style={
% anchor=north west,
% outer sep=0pt,
% at= {(current axis.north east)},
%}
]
\addplot[color=gray!50,mark=x] coordinates {
(1,1)
};
\addlegendentry{Stuff}
\addplot[color=gray,mark=x] coordinates {
(2,2)
};
\addlegendentry{Other stuff}
\end{axis}
\end{tikzpicture}
\end{document}