pgfplots:样式的布尔键不起作用

pgfplots:样式的布尔键不起作用

我尝试插入一个布尔值Title=true|false

\pgfplotsset{
%/pgfplots/.cd, % no effect
Title/.is choice, 
Title/.style={title={A title.}}, 
}    

为什么TitleTitle=trueTitle=false不起作用,而我两次都获得了标题?
我需要做些什么改进?

在此处输入图片描述

\documentclass[border=3.14pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\pgfplotsset{
%/pgfplots/.cd, % no effect
Title/.is choice, 
Title/.style={title={A title.}}, 
}    

\begin{tikzpicture}
\begin{axis}[Title=true]
\addplot[] {x} node[pos=0.5]{Has a title. :)};;
\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[Title=false]
\addplot[red] {x} node[pos=0.5]{Has a title too. :(};
\end{axis}
\end{tikzpicture}

答案1

您可以使用处理程序.is choice为每个选择定义一个键,然后每个不同的可能选择truefalse应该由一个子键给出。

\pgfplotsset{
  Title/.is choice, 
  Title/true/.style={title={A title.}},
  Title/false/.style={}, 
} 

如果你想将键限制为布尔值,那么在包中etoolbox,你可以使用处理程序.is if

\pgfplotsset{Title/.is if,
  Title/.code={\ifbool{#1}{\pgfplotsset{title={A title}}}{}}
}

在此处输入图片描述

相关内容