我需要绘制一个正态分布图,并填充其中的某个特定区域。目前,我是通过创建分布图并与RegionPlot叠加来实现的。这很复杂,我相信一定有更优雅的方法。我在谷歌上搜索了,查看了文档,但没有找到什么有用的信息。请帮助我!
我猜Mathematica算作编程? :D
我需要绘制一个正态分布图,并填充其中的某个特定区域。目前,我是通过创建分布图并与RegionPlot叠加来实现的。这很复杂,我相信一定有更优雅的方法。我在谷歌上搜索了,查看了文档,但没有找到什么有用的信息。请帮助我!
我猜Mathematica算作编程? :D
我能想到的最简单的方法是使用两个Plot
函数,其中一个绘制你想要阴影的范围,另一个绘制整个范围,同时使用Filling
选项来获得阴影效果。然后你可以使用Show
将它们一起显示,就像这样:
distFn = PDF[NormalDistribution[], x];
Show[
{Plot[distFn, {x, -5, 5}],
Plot[distFn, {x, -1, 1}, Filling -> {1 -> {0, Automatic}}]},
PlotRange -> All]
它仍然有点笨重,但它可以工作,并且如果您经常使用它,应该很容易地将其抽象为一个单一的函数。
这也可以通过单个Plot语句完成。
mu = 4; sigma = 3;
distFn = PDF[ NormalDistribution[mu, sigma], x];
Plot[Evaluate[distFn* {1, Boole[mu - sigma < x < mu + sigma]}], {x, mu - 3 sigma, mu + 3 sigma}, Filling -> {2 -> Axis}]