Re: RE: Does Mathematica do transparent colors?
- To: mathgroup at smc.vnet.net
- Subject: [mg31338] Re: [mg31333] RE: [mg31318] Does Mathematica do transparent colors?
- From: BobHanlon at aol.com
- Date: Mon, 29 Oct 2001 02:23:22 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 2001/10/28 4:58:54 AM, tgarza01 at prodigy.net.mx writes:
>I see your point, and my first guess is that you are asking for something
>which, if not too difficult, it takes a lot of labor, and may not be
worthwhile.
>A single graphics object has to be constructed out of two different ones,
>in order to attain that "translucency" you want. When you use Show[a1,a2]
>to display two plots, even with colors that look very transparent, a1
overrides
>whatever happens to be beneath. But I wonder if the following appoach could
>be useful to you:
>
>In[1]:=
><<Graphics`Graphics`;
><<Statistics`ContinuousDistributions`;
><<Statistics`DiscreteDistributions`;
><<Graphics`FilledPlot`;
>In[3]:=
>bern=BinomialDistribution[10,0.5];
>norm=NormalDistribution[6,Sqrt[2.5]];
>In[5]:=
>bc=BarChart[Transpose[{Table[PDF[bern,j],{j,0,10}],Range[0,10]}],
> BarStyle->GrayLevel[0.9],DisplayFunction->Identity];
>In[6]:=
>fp=FilledPlot[PDF[norm,x],{x,0,11},DisplayFunction->Identity];
>In[7]:=
>Show[fp,bc,DisplayFunction->$DisplayFunction];
>
>This, I'm afraid, is as good as it gets, unless you want to do a good deal
>of tampering with the graphics objects.
>
Needs["Graphics`Graphics`"];
Needs["Statistics`ContinuousDistributions`"];
Needs["Statistics`DiscreteDistributions`"];
Needs["Graphics`FilledPlot`"];
bern=BinomialDistribution[10,1/2];
norm=NormalDistribution[6,Sqrt[5/2]];
The chart distorts the comparison of the distributions.
They do not have the same mean.
Mean[#]& /@ {bern, norm}
{5, 6}
A more representative comparison of these distributions is
DisplayTogether[
FilledPlot[PDF[norm,x],{x,0,11}],
BarChart[Table[PDF[bern,j],{j,10}],
BarStyle->GrayLevel[0.9]]];
The normal distribution corresponding to the binomial is
norm = NormalDistribution[5, Sqrt[5/2]];
DisplayTogether[
FilledPlot[PDF[norm,x],{x,0,11}],
BarChart[Table[PDF[bern,j],{j,10}],
BarStyle->GrayLevel[0.9]]];
A more general approach uses GeneralizedBarChart
Clear[n,p];
#[BinomialDistribution[n, p]]& /@
{Mean, StandardDeviation}
{n*p, Sqrt[n*(1 - p)*p]}
n = Random[Integer, {10, 20}];
p = Random[Real , {1/4, 1/2}];
m = n*p;
s = Sqrt[n*p*(1-p)];
norm = NormalDistribution[m, s];
bern = BinomialDistribution[n, p];
DisplayTogether[
FilledPlot[PDF[norm,x],{x,m-3.5s,m+3.5s}],
GeneralizedBarChart[
Table[{j, PDF[bern,j], 0.8},
{j,Floor[m-4s], Ceiling[m+4s]}],
BarStyle->GrayLevel[0.9]],
Frame -> True, Axes -> False,
PlotLabel -> StringForm["n = ``, p = ``; m = ``, s = ``",
n, NumberForm[p, {5,2}], NumberForm[m, {5,2}],
NumberForm[s, {5,2}]]];
Bob Hanlon
Chantilly, VA USA