Started from @marmot answer but I don't well understand the coordinates and the shift of -0.5 I needed to do on x coordinate.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\usetikzlibrary{fpu}
\usepackage{xintexpr}
% 8 digits precision is enough
\xintDigits := 8;
% I don't like the order of variables but I picked it up from OP
\xintdeffloatfunc binom(k, n, p) := binomial(n, k)*p^k*(1-p)^(n-k);
\begin{document}
\tdplotsetmaincoords{110}{-30}
\begin{tikzpicture}[binom tree/.style={insert path={%
foreach \X in {1,...,#1}
{foreach \Y in {1,...,\X} {(\X,\Y-\X/2) -- (\X+1,\Y+1/2-\X/2)
(\X,\Y-\X/2) -- (\X+1,\Y-1/2-\X/2)} }}},tdplot_main_coords]
\begin{scope}[canvas is xy plane at z=0,scale=0.5]
\draw[blue,binom tree=15];
\end{scope}
\tdplotsetrotatedcoords{0}{0}{0}
\begin{scope}[tdplot_rotated_coords]
\xintFor* #1 in {\xintSeq{2}{16}}:
{
\begin{scope}[canvas is yz plane at x=#1/2, scale=0.5]
\draw[red,thick] plot[smooth] coordinates {\xintthecoords
\xintfloatexpr seq((x-#1/2+0.5,8*binom(x, #1, 0.5)), x=0..#1)\relax};
\end{scope}
}
\end{scope}
\end{tikzpicture}
\end{document}

I understand better the coordinates. I think using rescaled bar plots taking into account the "ecart-type" is closer to original question. (But I keep the 3D design from marmot's answer).
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\usetikzlibrary{fpu}
\usepackage{xintexpr}
% 8 digits precision is enough
\xintDigits := 8;
% I don't like the order of variables but I picked it up from OP
\xintdeffloatfunc binom(k, n, p) := binomial(n, k)*p^k*(1-p)^(n-k);
\begin{document}
\tdplotsetmaincoords{110}{-30}
\begin{tikzpicture}[binom tree/.style={insert path={%
foreach \X in {1,...,#1}
{foreach \Y in {1,...,\X} {(\X,\Y-\X/2) -- (\X+1,\Y+1/2-\X/2)
(\X,\Y-\X/2) -- (\X+1,\Y-1/2-\X/2)} }}},tdplot_main_coords]
\begin{scope}[canvas is xy plane at z=0]
\draw[blue,binom tree=48];
\end{scope}
\tdplotsetrotatedcoords{0}{0}{0}
\begin{scope}[tdplot_rotated_coords]
\xintFor* #1 in {\xintSeq{0}{48}}:
{
\begin{scope}[canvas is yz plane at x=#1+1]
% ybar means in z direction here, as horizontal coordinate is y
\draw[red,thick] plot[ybar] coordinates {\xintthecoords
\xintfloatexpr subs(
seq((y-#1/2+0.5,A*binom(y, #1, 0.5)), y=0..#1)
,A=sqrt(#1))\relax};
\end{scope}
}
\end{scope}
\end{tikzpicture}
\end{document}

Here is with
\begin{tikzpicture}[scale=0.5,binom tree/.style={insert path={%
foreach \X in {1,...,#1}
{foreach \Y in {1,...,\X} {(\X,\Y-\X/2) -- (\X+1,\Y+1/2-\X/2)
(\X,\Y-\X/2) -- (\X+1,\Y-1/2-\X/2)} }}},tdplot_main_coords]
\begin{scope}[canvas is xy plane at z=0]
\draw[blue,binom tree=96];
\end{scope}
\tdplotsetrotatedcoords{0}{0}{0}
\begin{scope}[tdplot_rotated_coords]
\xintFor* #1 in {\xintSeq[6]{0}{96}}:
{
\begin{scope}[canvas is yz plane at x=#1+1]
% ybar means in z direction here, as horizontal coordinate is y
\fill[red,thick] plot[ybar] coordinates {\xintthecoords
\xintfloatexpr subs(
seq((y-#1/2+0.5,A*binom(y, #1, 0.5)), y=0..#1)
,A=4*sqrt(#1))\relax};
\end{scope}
}
\end{scope}
\end{tikzpicture}
Most (more then 3/4th) of the time goes into the blue canvas.

Here is with p=0.25.
\begin{scope}[tdplot_rotated_coords]
\xintFor* #1 in {\xintSeq[6]{0}{96}}:
{
\begin{scope}[canvas is yz plane at x=#1+1]
% ybar means in z direction here, as horizontal coordinate is y
\fill[red,thick] plot[ybar] coordinates {\xintthecoords
\xintfloatexpr subs(
seq((y-#1/2+0.5,A*binom(y, #1, 0.25)), y=0..#1)
,A=4*sqrt(#1))\relax};
\end{scope}
}
\end{scope}

Full code and animation (p=0.25)
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\usetikzlibrary{fpu}
\usepackage{xintexpr}
% 8 digits precision is enough
\xintDigits := 8;
% I don't like the order of variables but I picked it up from OP
\xintdeffloatfunc binom(k, n, p) := binomial(n, k)*p^k*(1-p)^(n-k);
\begin{document}
\tdplotsetmaincoords{110}{-30}
\xintFor* #1 in {\xintSeq[3]{2}{50}}:
{
\begin{tikzpicture}[scale=0.5,binom tree/.style={insert path={%
foreach \X in {1,...,#1}
{foreach \Y in {1,...,\X} {(\X,\Y-\X/2) -- (\X+1,\Y+1/2-\X/2)
(\X,\Y-\X/2) -- (\X+1,\Y-1/2-\X/2)} }}},tdplot_main_coords]
% \xintifForLast {
\begin{scope}[canvas is xy plane at z=0]
\draw[very thin] (1,-25.5)--(51,-25.5) -- (51,25.5)-- (1, 25.5) -- cycle;
%\draw[blue, very thick] (0,0)--(33,-16.5) -- (33,16.5)-- cycle;
% \draw[blue,binom tree=32];
% \draw[blue,binom tree=96];
\draw[blue, binom tree=#1];
\draw (#1+1, 25.5) node [right, scale=2] {\smash{\rlap{$#1$}}};
\end{scope}
% }{}
\tdplotsetrotatedcoords{0}{0}{0}
\begin{scope}[tdplot_rotated_coords]
\begin{scope}[canvas is yz plane at x=#1+1]
% ybar means in z direction here, as horizontal coordinate is y
\fill[red,thick] plot[ybar] coordinates {\xintthecoords
\xintfloatexpr subs(
seq((y-#1/2+0.5,A*binom(y, #1, 0.25)), y=0..#1)
,A=4*sqrt(#1))\relax};
\end{scope}
\end{scope}
\end{tikzpicture}
}
\end{document}
Do pdflatex on this and then
convert -verbose -delay 75 -loop 0 -density 100 binomialplotV.pdf binomialplotV.gif

With p=0.15, 0.5, 0.85. Notice how central case is more spread-out which is normal as variance is larger for it.

(it shows better when zooming)
4in rescaling byA=4*sqrt(#1)was chosen to be big enough so that one sees something and not provoque collisions. The#1is taken along an arithmetic progression of parameter6. So at very right we haven=96. – Jan 26 '19 at 11:23\xintForloop to outside to do 16 pictures instead of one. I will it do it for fun with no canvas and make an animated gif, but I think nowadays with TikZ 3.1 you can produce svg output. – Jan 26 '19 at 11:41