假设我们有以下内容:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{external}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\begin{axis}[%legend cell align={&+},?
legend entries={a+b, aaaa+bbb},]
\addplot {x};
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
是否可以根据某个字符对齐图例中的文本?例如,就像我们在对齐环境中所做的那样
\begin{align}
a &+ b\\
aaaa &+ bbb
\end{align}
我知道我们可以legend cell align=left
这样做,但这只适用于图例条目本身满足特定条件时的上述情况。
另外,我在哪里可以找到全面的文档页面pgfplots
?我一直在参考这尽管它并不包罗万象。
答案1
这是另一种方法。另请参阅\mathrlap
mathtools \mathllap
。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{external}
%\tikzexternalize% sorry, not on my system
\begin{document}
\begin{tikzpicture}
\begin{axis}[%legend cell align={&+},?
legend entries={\phantom{aaaa}\llap{a}+\rlap{b}\phantom{bbb}, aaaa+bbb},]
\addplot {x};
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这是实现这种对齐的一种方法。
\documentclass{standalone}
\usepackage{eqparbox}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
% \usepgfplotslibrary{external}
% \tikzexternalize
\begin{document}
\begin{tikzpicture}
\begin{axis}[%legend cell align={&+},?
legend entries={\eqmakebox[r1][r]{$b$}\eqmakebox[l1][l]{${}+b$},
\eqmakebox[r1][r]{$aaaa$}\eqmakebox[l1][l]{${}+bbb$}}]
\addplot {x};
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
可以简化使用。externalize
我不知道是否有一个稳定的方法可以将其结合起来。