Como alinhar a legenda do PGFplots exatamente nivelada com o eixo

Como alinhar a legenda do PGFplots exatamente nivelada com o eixo

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}

exemplo de deslocamento inesperado entre o eixo e a caixa de legenda

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 = 0ptestilo à 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=0ptadicionadas 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}

insira a descrição da imagem aqui

informação relacionada