代码如下:
\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}
我添加了extra y ticks={9}
,但我真正想要的是添加extra y ticks={func(\xmin)}
,这样当值发生变化时,额外的 y 刻度标签就可以放在正确的位置\xmin
。我该如何编写代码来extra y ticks
通过函数计算值而不是给出固定值?谢谢!
答案1
CW 来自评论:
将计算设置为 PGF 数学宏并使用该宏作为extra y ticks
设置:
\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}