在 xz 平面上绘制二元正态分布

在 xz 平面上绘制二元正态分布

在 tikz 中绘制双变量正态分布,在 xy 平面上绘制了二元正态分布。是否可以在 xz 平面/yz 平面上绘制该分布?

答案1

\addplot3 ({x expr}, {y expr}, {z expr});当然可以。你可以使用以下语法:

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}

\begin{document}

\pgfplotsset{
colormap={whitered}{color(0cm)=(white); color(1cm)=(orange!75!red)}
}

\begin{tikzpicture}[
    declare function={mu1=1;},
    declare function={mu2=2;},
    declare function={sigma1=0.5;},
    declare function={sigma2=1;},
    declare function={normal(\m,\s)=1/(2*\s*sqrt(pi))*exp(-(x-\m)^2/(2*\s^2));},
    declare function={bivar(\ma,\sa,\mb,\sb)=
        1/(2*pi*\sa*\sb) * exp(-((x-\ma)^2/\sa^2 + (y-\mb)^2/\sb^2))/2;}]
\begin{axis}[
    colormap name=whitered,
    width=15cm,
    view={45}{35},
    enlargelimits=false,
    grid=major,
    domain=-1:4,
    y domain=-1:4,
    samples=26,
    z buffer=sort,
    unit vector ratio=10 1 1,
    xmin=0, xmax=0.2,
    ymin=-1, ymax=4
]
\addplot3 [surf,point meta=x] ({bivar(mu1,sigma1,mu2,sigma2)},x,y);
\end{axis}
\end{tikzpicture}
\end{document}

相关内容