pgfplots: A chave booleana para um estilo não funciona

pgfplots: A chave booleana para um estilo não funciona

Eu tentei inserir um Bool Title=true|false:

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

Por que funciona Titlee não funciona e recebo um título nas duas vezes Title=true? O que tenho que melhorar?Title=false

insira a descrição da imagem aqui

\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}

Responder1

Você pode usar o manipulador .is choicepara definir uma chave para cada escolha, então cada uma das diferentes opções possíveis trueou falsedeve ser dada por uma subchave.

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

Se você quiser restringir a chave a um valor booleano, com o pacote etoolbox, você pode usar o manipulador .is if,

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

insira a descrição da imagem aqui

informação relacionada