评估一个函数并分配给一个常量以用作刻度线 Tikz/pgfplots
Evaluate a function and assign to a constant to use as tick markin Tikz/pgfplots
我正在定义一些函数来使用 pgfplots 绘图,并且已经成功。现在我想在使用这些函数(下面的 lbound)计算的点上添加一个 y 刻度。但是,我似乎无法将 lbound 用作常量。这是为了标记水平图与 y 轴相交的点。我应该怎么做?
\begin{tikzpicture}[
declare function={
tmin = 0;
tmax = 1;
C(\x) = (\x)^2;
Cinv(\x) = (\x)^(1/2);
ell(\theta,\tau,\K) = 1 - Cinv( (- (\tau * \theta) / (tmax - tmin) + \K) );
lbound = ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin));
}
]
\begin{axis}[
ytick={0,1},
yticklabels={[=11=]$,$}
]
\addplot[dashed, thick, domain=0:1]{ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin))};
\end{axis}
\end{tikzpicture}
我可能误解了这个问题,但阅读它的一种方式是你想要这个:
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
declare function={
tmin = 0;
tmax = 1;
C(\x) = (\x)^2;
Cinv(\x) = (\x)^(1/2);
ell(\theta,\tau,\K) = 1 - Cinv( (- (\tau * \theta) / (tmax - tmin) + \K) );
lbound = ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin));
}
]
\begin{axis}[
ytick={0,lbound},
yticklabels={[=10=]$,$\ell_\mathrm{bound}$}
]
\addplot[dashed, thick, domain=0:1]{ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin))};
\end{axis}
\end{tikzpicture}
\end{document}
我正在定义一些函数来使用 pgfplots 绘图,并且已经成功。现在我想在使用这些函数(下面的 lbound)计算的点上添加一个 y 刻度。但是,我似乎无法将 lbound 用作常量。这是为了标记水平图与 y 轴相交的点。我应该怎么做?
\begin{tikzpicture}[
declare function={
tmin = 0;
tmax = 1;
C(\x) = (\x)^2;
Cinv(\x) = (\x)^(1/2);
ell(\theta,\tau,\K) = 1 - Cinv( (- (\tau * \theta) / (tmax - tmin) + \K) );
lbound = ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin));
}
]
\begin{axis}[
ytick={0,1},
yticklabels={[=11=]$,$}
]
\addplot[dashed, thick, domain=0:1]{ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin))};
\end{axis}
\end{tikzpicture}
我可能误解了这个问题,但阅读它的一种方式是你想要这个:
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
declare function={
tmin = 0;
tmax = 1;
C(\x) = (\x)^2;
Cinv(\x) = (\x)^(1/2);
ell(\theta,\tau,\K) = 1 - Cinv( (- (\tau * \theta) / (tmax - tmin) + \K) );
lbound = ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin));
}
]
\begin{axis}[
ytick={0,lbound},
yticklabels={[=10=]$,$\ell_\mathrm{bound}$}
]
\addplot[dashed, thick, domain=0:1]{ell(1, 0.8, C(1) + 0.8 * tmin / (tmax - tmin))};
\end{axis}
\end{tikzpicture}
\end{document}