我需要绘制如下所示的阶梯式高斯曲线。但我想动态地(以文本形式)执行此操作,以便以后可以对其进行修改。
我知道如何绘制平滑高斯图,但我真的需要阶梯式高斯图。另外,条形图(选项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;
};
但是histeps
gnu 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);
};