3

我需要绘制一个正态分布,然后对它的某些特定区域进行着色。现在我通过创建分布图并用 RegionPlot 覆盖它来做到这一点。这非常令人费解,我敢肯定必须有一种更优雅的方式来做到这一点。我用谷歌搜索,查看文档,一无所获。帮帮我!

我猜 Mathematica 算不算编程?:D

4

2 回答 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]

它仍然有点笨拙,但它可以工作,如果你经常这样做,它应该很容易抽象成一个函数。

于 2009-11-25T16:38:48.320 回答
2

也可以使用单个 Plot 语句来完成。

亩 = 4; 西格玛 = 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}]

于 2010-04-18T13:06:59.970 回答