Ich habe zwei Plots, die Angebot und Nachfrage anzeigen, und ein Plot, in dem ich die Nachfrage von der Versorgung subtrahiert habe, um die resultierende Asymmetrie zu zeigen. Ich möchte den Bereich zwischen der x-Achse und dem negativen Teil der Asymmetrie beschatten, um das Ausmaß des Defizits zu zeigen.Schattierung eines Bereichs zwischen Geom_line und der X-Achse
Ich verwende derzeit den folgenden Code:
plot.asymmetry <- ggplot(data=df.overview.month,
aes(x=Date.Time, y=Asymmetry)) +
geom_area(data=subset(df.overview.month, Asymmetry < 0),
aes(x=Date.Time, y=Asymmetry))
jedoch - wie zu erwarten war - dies nicht Schatten der Bereich zwischen geom_line und der x-Achse, sondern nur zwischen negativen Werte der Asymmetrie Daten, die etwas ganz anderes ist, als in der resultierenden Grafik dargestellt:
gibt es eine Möglichkeit, dieses Problem zu überwinden?
/Edit: einige Beispieldaten:
time.initial <- as.POSIXct("2010-12-31 23:00:00", tz="GMT")
Date.Time<-vector()
for(i in 1:24) {
Date.Time[i] <- time.initial + i*3600
}
Demand<-vector()
for(i in 0:23) {
Demand[i+1] <- 155 + 20*sin((pi/12)*i - (pi/2)) + 10*sin((pi/4380)*i + (pi/2))
}
Supply<-vector()
for(i in 0:23) {
Supply[i+1] <- 165 + 5*sin((pi/4380)*i - (pi/2)) + rnorm(1, mean=0, sd=0.20*165)
}
df.overview.month <- data.frame(Date.Time, Demand, Supply, Asymmetry=Supply-Demand)
Können Sie runnable Code, das heißt mit einigen Beispieldaten? – ROLO
Ich habe den Hauptpost bearbeitet, um dies zu tun. –
Ich denke, Sie müssen zuerst die Positionen der Nullen in Ihren Segmenten berechnen. – baptiste