mit xyplot
aus dem lattice
Paket, plotte ich eine Zeitreihe über eine Reihe von Jahren. Ich würde für einige dieser Jahre einen schattierten Bereich hinzufügen, um anzuzeigen, dass dieser Zeitraum "speziell" war (z. B. Krieg).Wie schattierten Hintergrund in xyplot in R bekommen?
Bitte Entschuldigen Sie, wenn das trivial ist, aber ich konnte nicht herausfinden, wie das geht, also würde ich mich freuen, wenn mir jemand helfen könnte, oder zumindest in die richtige Richtung zeigen. Ich denke, mein Hauptproblem ist, dass ich nicht wirklich weiß, wie ich dieses Problem angehen soll. Ich bin immer noch relativ neu für R und insbesondere für lattice
.
hier ein minimales Beispiel:
xyplot(rnorm(100) ~ 1:100, type="l", col="black")
In dem entsprechenden Grundstück, würde ich die Farbe des Hintergrunds wie (von etwa x
-Werten von 45 bis 65) von unten nach oben auf dem Plottingbereich etwa hellgrau schattiert sein.
Beachten Sie, dass Lösungen, die ich bisher base
Grafiken verwenden gefunden haben und die polygon
-function, doch die Absicht, Schatten ist die Fläche unter oder über einer Kurve, die sich von dem unterscheidet, was Ich mag würde tun. Ich möchte nicht nur den Bereich unter meiner Linie oder über meiner Linie beschatten. Stattdessen möchte ich den gesamten Hintergrund für ein bestimmtes Zeitintervall schattieren.
Wenn mir hier jemand helfen könnte, wäre ich sehr dankbar!
erscheint ziemlich mächtig. 'y = x> 45 & y <0 'bekommt Sie graue Bänder links von x = 45, aber nur wo y <0. Ich glaube, du hast dich für 'layer_' entschieden, weil es einen Standardwert von 'unter = TRUE' hat? –
Es schien nur ziemlich geschickt und ggplot2-ish, aber alternativ könnte man es in einer herkömmlichen Panel-Funktion verwenden: xyplot (rnorm (100) ~ x, type = "l", col = "schwarz", panel = function (x, ...) {panel.xblocks (x, x> 20, col = "hellgrau"); panel.xyplot (x, ...)}) '. –