Mathematica,PDF 曲线和着色

3

我需要绘制一个正态分布图,并填充其中的某个特定区域。目前,我是通过创建分布图并与RegionPlot叠加来实现的。这很复杂,我相信一定有更优雅的方法。我在谷歌上搜索了,查看了文档,但没有找到什么有用的信息。请帮助我!

我猜Mathematica算作编程? :D

2个回答

5

我能想到的最简单的方法是使用两个Plot函数,其中一个绘制你想要阴影的范围,另一个绘制整个范围,同时使用Filling选项来获得阴影效果。然后你可以使用Show将它们一起显示,就像这样:

distFn = PDF[NormalDistribution[], x];
Show[
   {Plot[distFn, {x, -5, 5}],
    Plot[distFn, {x, -1, 1}, Filling -> {1 -> {0, Automatic}}]},
   PlotRange -> All]

它仍然有点笨重,但它可以工作,并且如果您经常使用它,应该很容易地将其抽象为一个单一的函数。


虽然它有些笨重,但非常灵活,因为您可以轻松地变化填充的范围。当然,在需要绘制更复杂的内容时,也可以使用相同的技术。 - rcollyer

2

这也可以通过单个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}]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接