在 pgfplots 图例中使用案例环境时出现问题

在 pgfplots 图例中使用案例环境时出现问题

amsmath我注意到,如果我在图例中使用包中的案例pgfplots,图例框不会包含整个文本。请参阅 MWE。

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
  \pgfplotsset{compat=1.9}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}
    [legend entries = {$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}]
      \addplot[color=red]{exp(x)};
    \end{axis}
  \end{tikzpicture}
\end{document}

在 pgfplots 中使用案例时框不包含所有图例文本的简单示例

图例中的红线也与 f(x) 不一致。

这是为什么?我该如何解决?

答案1

手册第 4.8.9 节讨论了这个问题pgfplot带有自定义文本或多行的图例text depth。您可以使用以下选项\addlengendentry

\addlegendentry[text depth=\baselineskip]
  {$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}

完整示例:

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
  \pgfplotsset{compat=1.9}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}
      \addplot[color=red]{exp(x)};
      \addlegendentry[text depth=\baselineskip]
      {$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}
    \end{axis}
  \end{tikzpicture}
\end{document}

使用选项文本深度在此处输入图像描述

答案2

我怀疑文本被移动了。一个简单的(视觉)修复方法是提高框;经过反复试验,似乎 2.5ex 是正确的数量。

\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    legend entries = \raisebox{2.5ex}{$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}
  ]
  \addplot[color=red]{exp(x)};
  \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容