Seltsames Showverhalten
Wenn Sie versuchen, ein diskretes Diagramm in ein Histogramm zu überlagern, wird das Histogramm unabhängig von der Reihenfolge, in der ich jedes Argument in Show übergebe, über dem diskreten Diagramm gestapelt. Ist es möglich, den DiscretePlot stattdessen über das Histogramm zu legen?
Antworten
Wenn Sie ein Histogramm anzeigen und mit einem PDF vergleichen möchten, müssen Sie die Eigenschaften "Wahrscheinlichkeit" (für diskrete Verteilungen) oder "PDF" (für kontinuierliche Verteilungen) angeben, damit die beiden übereinander passen. Andernfalls werden die Achsen nicht übereinstimmen und eine Handlung wird die andere überfluten:
data = RandomVariate[GeometricDistribution[1/2], 100];
Show[
Histogram[data, Automatic, "Probability"],
DiscretePlot[PDF[GeometricDistribution[1/2], x], {x, 0, Max[data]}],
PlotRange -> All
]
Für kontinuierliche Daten:
data = RandomVariate[ExponentialDistribution[1/2], 100];
Show[
Histogram[data, Automatic, "PDF"],
Plot[PDF[ExponentialDistribution[1/2], x], {x, 0, Max[data]}],
PlotRange -> All
]
In Show überschreiben später angegebene Plotoptionen die zuvor angegebenen. Stellen Sie also sicher, dass Ihre Achsen passen oder zeichnen Sie sie nicht. Es gibt noch eine andere Möglichkeit. Überlagerung zeichnet einfach ein Bild über ein anderes.
Hier ist ein Beispiel:
d1 = RandomReal[{0, 1}, 100];
g1 = Histogram[d1]
g2 = Plot[30 Sin[2 Pi x], {x, 0, 1}]
Show[{g1, g2}]
Overlay[{g1, g2}]