Como calcular o valor "extra y ticks" por função em vez de fornecer um valor fixo

Como calcular o valor "extra y ticks" por função em vez de fornecer um valor fixo

O código é o seguinte:

\documentclass[border=2pt]{standalone}

\usepackage{pgfplots}

\begin{document}

\tikzset{
    declare function={
        func(\x)= \x*\x;
    }
}

\begin{tikzpicture}
\def \xmin {-3}
\def \xmax {3}
\begin{axis}[
    xmin={\xmin}, xmax={\xmax},
    extra y ticks={9},
    extra y tick labels={$c$}]
\addplot [samples=100,domain={\xmin}:{\xmax}] {func(\x)};
\end{axis}
\end{tikzpicture}
\end{document}

Resultado

Eu adiciono extra y ticks={9}, mas o que eu realmente quero é adicionar extra y ticks={func(\xmin)}, assim o rótulo extra de y tick pode ser colocado no lugar certo quando o \xminvalor for alterado. Como posso escrever o código para calcular extra y tickso valor por função em vez de fornecer um valor fixo? Obrigado!

Responder1

CW dos comentários:

Defina o cálculo em uma macro matemática PGF e use a macro como extra y ticksconfiguração:

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\tikzset{
    declare function={
        func(\x)= \x*\x;
    }
}

\begin{tikzpicture}
\def \xmin {-3}
\def \xmax {3}
\pgfmathsetmacro\myextratick{func(\xmin)}
\begin{axis}[
    xmin={\xmin}, xmax={\xmax},
    extra y ticks={\myextratick},
    extra y tick labels={$c$}]
\addplot [samples=100,domain={\xmin}:{\xmax}] {func(\x)};
\end{axis}
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada