我有一个带有水平图例的 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}
如果您喜欢在单张图表中使用该解决方案,那么该解决方案也适用于组图。我还采取了一些自由,稍微改变了图例样式 :-)