11
votes

Remplir des styles en utilisant un seul terrain en mathématica

Pourrais-je spécifier différentes couleurs de remplissage dans une seule parcelle comme le ci-dessous ou devrais-je avoir besoin de "montrer" plusieurs parcelles? Disons que je voudrais que le style de remplissage soit identique à celui de la parcelle.

priorMean = 50;
priorVar = 100;

llhMean = 30;
llhVar = 40;

postMean=35.71;
postVar=28.57;


Plot[
     Evaluate@MapThread[
     Function[{\[Mu], \[Sigma]},
     PDF[NormalDistribution[\[Mu], Sqrt[\[Sigma]]], x]],
     {{priorMean, llhMean, postMean}, {priorVar, llhVar, postVar}}],
{x, 0, 100}, Filling -> Axis, PlotStyle -> {Red, Green, Blue}]


4 commentaires

Ne ne remplit pas faire ce que vous voulez?


500 je suis curieux: je pensais que tu aimerais ma réponse, mais pas de commentaire. Ne fonctionne-t-il pas pour votre application?


@Monsieur. Il est ! J'ai eu cette date limite qui m'a désactivé pour creuser encore. Mais je pensais en fait que cela avec deux autres de votre solution concernant les graphismes représentent une belle philosophie de la mise en place des choses "dans le rock", j'ai juste besoin de vous poser des questions à ce sujet! Mais je l'aime!


D'accord. Je me suis habitué à votre sympathique "merci" notes sur de bonnes réponses, mais je vois maintenant que vous n'avez pas donné cela à personne sur cette question. Bonne chance avec la date limite!


4 Réponses :


8
votes

Vous pouvez faire quelque chose comme xxx

remplir avec différentes couleurs < / p>


0 commentaires

13
votes

Vous aurez besoin d'utiliser FillingStyle Code> pour remplir. Je pense que vous avez été coincé dans la syntaxe pour FillingStyle code>, qui est pas em> le Identique que celle de tracstyle code>, bien que vous vous attendiez. Vous devrez attribuer une couleur pour chaque courbe en tant que FillingStyle -> {1 -> Color1, 2 -> Color2} Code>, etc. Voici un exemple:

colors = {Red, Green, Blue};
Plot[Evaluate@
  MapThread[
   Function[{\[Mu], \[Sigma]}, 
    PDF[NormalDistribution[\[Mu], Sqrt[\[Sigma]]], x]], {{priorMean, 
     llhMean, postMean}, {priorVar, llhVar, postVar}}], {x, 0, 100}, 
 Filling -> Axis, PlotStyle -> colors, 
 FillingStyle -> 
  MapIndexed[#2 -> Directive[Opacity[0.3], #] &, colors]]


0 commentaires

3
votes

Ceci obtient un résultat: xxx pré>

trouvé dans l'aide sous remplissagetyle, la portée, le style de remplissage. P>

et alternativement: P>

f = MapThread[
   Function[{\[Mu], \[Sigma]}, 
    PDF[NormalDistribution[\[Mu], Sqrt[\[Sigma]]], x]],
   {{priorMean, llhMean, postMean}, {priorVar, llhVar, postVar}}];
c = {Red, Green, Blue};
Show[Array[
  Plot[f[[#]], {x, 0, 100}, Filling -> {1 -> {Axis, c[[#]]}}, 
    PlotRange -> {Automatic, 0.08}, PlotStyle -> c[[#]]] &, 3]]


0 commentaires

9
votes

Je propose de faire une extension à la définition de tracé code>. Je l'ai déjà fait avant. xxx pré>

avec cela en place, vous pouvez Utilisez FillingStyle -> "Match" Code> sur le style automatique Les remplissages correspondent aux styles principaux. P>

Plot[{Sin[x], Cos[x], Log[x]}, {x, 0, 2 Pi},
  PlotRange -> {-2, 2},
  PlotStyle -> {{Blue, Dashing[{0.04, 0.01}]},
                {Thick, Dashed, Orange},
                {Darker@Green, Thick}},
  Filling -> Axis,
  FillingStyle -> "Match"
]


0 commentaires