tikz:绘制阶梯高斯

tikz:绘制阶梯高斯

我需要绘制如下所示的阶梯式高斯曲线。但我想动态地(以文本形式)执行此操作,以便以后可以对其进行修改。

http://media.texample.net/tikz/examples/PDF/gnuplot-tikz-terminal.pdf

我知道如何绘制平滑高斯图,但我真的需要阶梯式高斯图。另外,条形图(选项ybar)也不行,因为我只需要条形图的轮廓(没有条形图,只有一条曲线)。

我试过了:

\draw[black,thick] plot[id=gg,raw gnuplot] function{
    set xrange [0:7.5];
    set samples 30;
    normal(x,mu,sigma)=sigma<=0?1/0:invsqrt2pi/sigma*exp(-0.5*((x-mu)/sigma)**2);
    invsqrt2pi = 0.398942280401433;
    plot 3.5*normal(x,1.5,0.5) with histeps;
};

但是histepsgnu plot 的选项没有启动……(该脚本在 gnuplot 中时有效)。

答案1

当您在 TikZ 中使用 gnuplot 时,所发生的一切就是让 gnuplot 在表中生成一系列点,这些点使用 TikZ 读取和渲染。该histeps选项不会更改数据,而只会更改渲染(在 gnuplot 中),因此它不会影响您在 TikZ 中看到的内容。相反,您可以使用 TikZ 选项const plot

\draw[black,thick] plot[id=gg,raw gnuplot, const plot] function{
    set xrange [0:7.5];
    set samples 30;
    normal(x,mu,sigma)=sigma<=0?1/0:invsqrt2pi/sigma*exp(-0.5*((x-mu)/sigma)**2);
    invsqrt2pi = 0.398942280401433;
    plot 3.5*normal(x,1.5,0.5);
};

相关内容