Comportement étrange du spectacle

Oct 07 2020

Lorsque vous essayez de superposer un tracé discret sur un histogramme, quel que soit l'ordre dans lequel je passe chaque argument dans Afficher, l'histogramme se superpose sur le tracé discret. Est-il possible de placer le DiscretePlot sur l'histogramme à la place?

Réponses

3 SjoerdSmit Oct 07 2020 at 17:29

Si vous souhaitez afficher un histogramme et le comparer à un fichier PDF, vous devez spécifier la propriété "Probabilité" (pour les distributions discrètes) ou "PDF" (pour les distributions continues) pour qu'elles s'ajustent l'une sur l'autre. Sinon, les axes ne seront pas d'accord et une parcelle submergera l'autre:

data = RandomVariate[GeometricDistribution[1/2], 100];
Show[
 Histogram[data, Automatic, "Probability"],
 DiscretePlot[PDF[GeometricDistribution[1/2], x], {x, 0, Max[data]}],
 PlotRange -> All
]

Pour des données continues:

data = RandomVariate[ExponentialDistribution[1/2], 100];
Show[
 Histogram[data, Automatic, "PDF"],
 Plot[PDF[ExponentialDistribution[1/2], x], {x, 0, Max[data]}],
 PlotRange -> All
]
1 DanielHuber Oct 07 2020 at 17:18

Dans Afficher, les options de tracé fournies ultérieurement remplaceront celles données précédemment. Alors, assurez-vous que vos axes correspondent ou ne les dessinez pas. Il y a une autre possibilité. La superposition dessinera simplement une image sur une autre.

Voici un exemple:

d1 = RandomReal[{0, 1}, 100];
g1 = Histogram[d1]
g2 = Plot[30 Sin[2 Pi x], {x, 0, 1}]
Show[{g1, g2}]
Overlay[{g1, g2}]