
Meu objetivo é alinhar a caixa de legenda com o gráfico para que fique exatamente alinhada com o quadro do eixo superior.
O seguinte MWE funciona bem à primeira vista, mas quando olhamos mais de perto, há um pequeno deslocamento vertical (ver imagem). Uma vez visto, não pode ser invisível.
\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}
Sei por outras respostas que a legenda é uma matriz TikZ. Estou ciente da possibilidade de posicionar a legenda usando uma coordenada (eixo cs ou outro). Mas mesmo ao usar um posicionamento codificado como o seguinte, as bordas não se alinham exatamente.
\begin{axis}[
legend style={
at={(axis cs:2.6,2.1)}
},
ymax=2.1
]
Estou usando uma instalação do TeX Live 2019, se isso for relevante.
Responder1
Bem-vindo ao TeX.SE. Adicionar outer sep = 0pt
estilo à sua legenda pode ser uma solução adequada.
Adicionei um código que coloca a legenda alinhada com o limite da tela e sugere que a parte superior da tela e a legenda estejam alinhadas quando outer sep=0pt
adicionadas ao estilo.
\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}