我已经尝试了一段时间,但还是无法让它工作。基本上,我尝试绘制高斯 CDF,但图形位于页面的右侧边缘,并且由于在外面,所以很大一部分根本看不到。
\pgfmathdeclarefunction{gausscdf}{2}{
\pgfmathparse{1/(1 + exp(-0.07056*((x-#1)/#2)^3 - 1.5976*(x-#1)/#2))}
}
\begin{tikzpicture}
\begin{axis}[
style={mark=none, domain=-4:4,samples=10,smooth},
axis x line*=bottom,
axis y line*=left,
axis lines=middle,
x=0.1*\textwidth,
restrict x to domain=-3:3,
enlargelimits=upper,
legend style={draw=none}
]
\addplot[color=orange] {gausscdf(0,1)};
\addplot[color=red] {gausscdf(0,2)};
\end{axis}
\end{tikzpicture}
有人知道我做错什么了吗?
答案1
我不知道到底是什么问题,但使用declare function
下面的代码定义函数似乎可以解决这个问题。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}[
declare function={
gausscdf(\x,\a,\b) = 1/(1 + exp(-0.07056*((\x-\a)/\b)^3 - 1.5976*(\x-\a)/\b));
}
]
\begin{axis}[
style={mark=none, domain=-4:4,samples=10,smooth},
axis lines=middle,
x=0.1*\textwidth,
restrict x to domain=-3:3,
enlargelimits=upper,
legend style={draw=none}
]
\addplot[color=orange] {gausscdf(x,0,1)};
\addplot[color=red] {gausscdf(x,0,2)};
\end{axis}
\end{tikzpicture}
\end{document}