pgfplots-将图例文字对齐到底部

pgfplots-将图例文字对齐到底部

我有一个带有水平图例的 pgfplot(groupplot)。如何将图例文本对齐到底部?您可以在下图中看到一个示例。字母 a 和 b 不在同一条底线上。

梅威瑟:

\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{pgfplots.groupplots,plotmarks,arrows.meta,matrix}

\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
\begin{tikzpicture}
    \begin{groupplot}[group style={group size=1 by 1,},
        legend columns=2,]
        \nextgroupplot
            \addplot[mark=none]coordinates {
                (0,0) (10,50) (20,100) (30,200) };
            \addplot[mark=none]coordinates {
             (50,600) (60,800) (80,1000)};
            \legend{a,b};
    \end{groupplot}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

看看以下解决方案是否是您想要的:

在此处输入图片描述

MWE(不使用群组图,但使用全局定义的图例样式):

\documentclass[margin=3mm]{standalone}
%    \usepackage{tikz}  it is loaded by pgfplots

\usepackage{pgfplots}
\pgfplotsset{           compat = 1.18,
           legend style={nodes = {anchor=base, yshift=-0.5ex}},
/tikz/every even column/.style = {column sep=1em}   % if you liked
             }

\begin{document}
    \begin{tikzpicture}
\begin{axis}[
legend columns = 2
            ]
\addplot[mark=none]coordinates {
    (0,0) (10,50) (20,100) (30,200) };
\addplot[mark=none]coordinates {
 (50,600) (60,800) (80,1000)};
    \legend{a,b};
 \end{axis}
    \end{tikzpicture}
\end{document}

如果您喜欢在单张图表中使用该解决方案,那么该解决方案也适用于组图。我还采取了一些自由,稍微改变了图例样式 :-)

相关内容