pgfplots 中图例条目的垂直对齐

pgfplots 中图例条目的垂直对齐

我的绘图中有多行图例条目。默认样式对图例图像和图例文本都使用居中对齐。我该如何更改以使图例图像与图例文本相邻并居上对齐?

\documentclass{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.9}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        legend style={
            /tikz/nodes={text width=25pt,text depth=},
        },
        legend entries={%
            Some long text,Some other long text
        },
        ]
    \addplot {x};
    \addplot {1+x};

    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

您可以anchor=north对图例中的每个节点使用。更好的办法似乎是anchor=base与第一行的基线对齐。由于图像的中心位于基线上,我们需要稍微移动它们:

\documentclass{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.9}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        legend style={
            /tikz/every odd column/.style={yshift=2pt},
            /tikz/nodes={text width=25pt,text depth=,anchor=base},
        },
        legend entries={%
            Some long text,Some other long text
        },
        ]
    \addplot {x};
    \addplot {1+x};

    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

我的想法是假设图像仅存在于奇数列中。

注意:由于某种原因,/tikz/前缀在这种情况下是强制性的(尽管通常不是)。

相关内容