在 tikzpicture 环境中沿特定字符对齐图例文本

在 tikzpicture 环境中沿特定字符对齐图例文本

假设我们有以下内容:

\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

这是另一种方法。另请参阅\mathrlapmathtools \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我不知道是否有一个稳定的方法可以将其结合起来。

相关内容