条件 \addlegendentry

条件 \addlegendentry

如何添加依赖于某些变量的图例条目?至少在下面的最小示例中它不起作用。

\documentclass{standalone}
\usepackage{tikz,pgfplots}
\begin{document}

\def\myLegend{1}

\begin{tikzpicture}
  \begin{axis}[
    xlabel=Cost,
    ylabel=Error]
    \addplot[color=red,mark=x] coordinates {
      (2,-2.8559703)
      (3,-3.5301677)
      (4,-4.3050655)
      (5,-5.1413136)
      (6,-6.0322865)
      (7,-6.9675052)
      (8,-7.9377747)
    };
    \if\myLegend
    \addlegendentry{red line};
    \fi
  \end{axis}
\end{tikzpicture}

\end{document}

答案1

你可以做

\ifnum\myLegend>0
\addlegendentry{red line};
\fi

所以当你有的时候什么也不会做

\newcommand{\myLegend}{0}

如果你有

\newcommand{\myLegend}{1}

另一种方法是

\newif\ifmyLegend

在序言和

\ifmyLegend
\addlegendentry{red line};
\fi

在主体中tikzpicture。您可以使用声明进行切换

\myLegendfalse

\myLegendtrue

第一个是由 隐式完成的\newif\ifmyLegend

相关内容