Ich habe eine sehr einfache Frage hier. Ich habe einen Datensatz von 2009-2012. Ich möchte die Daten mit Facetten darstellen. Ich habe das facettierte Diagramm wie folgt erstellt.Anzeige der x-Achse auf ggplot als nur Monat in R
R-Code
ggplot(al02428400,aes(x=date,y=as.numeric(Discharge)))+geom_line()+ylab("Discharge(cfs)")+facet_wrap(~Year,scales=("free_x"))+theme_bw()
Die Ausgabe des obigen R-Code ist wie folgt:
Auf der X-Achse ich nur den Monat zeigen wollen. Standardmäßig werden Monat und Jahr angezeigt. Gibt es eine Möglichkeit, wie ich das Jahr loswerden kann?
Der vollständig reproduzierbaren Code lautet wie folgt:
library(ggplot2)
url <- "http://nwis.waterdata.usgs.gov/usa/nwis/uv/?cb_00060=on&cb_00065=on&format=rdb&period=&begin_date=2009-01-01&end_date=2012-12-31&site_no=02428400"
download.file(url,destfile="Data load for stations/data/alabamariver-at-monroeville-2009.txt")
al02428400 <- read.table("Data load for stations/data/alabamariver-at-monroeville-2009.txt",header=T,skip=1,sep="\t")
head(al02428400)
sapply(al02428400,class)
al02428400 <- al02428400[-1,]
names(al02428400)<- c("Agency","SiteNo","Datetime", "TZ","Discharge","Status","Gageheight","gstatus")
al02428400$date <- strptime(al02428400$Datetime, format="%Y-%m-%d %H:%M")
al02428400$Discharge <- as.numeric(as.character(al02428400$Discharge))
al02428400$Year <- as.numeric(format(al02428400$date, "%Y"))
ggplot(al02428400,aes(x=date,y=as.numeric(Discharge)))+geom_line()+ylab("Discharge(cfs)")+facet_wrap(~Year,scales=("free_x"))+theme_bw()
Dank.
Danke für Ihre Antwort. Jedoch, wenn ich versuche, zu verwenden, erhalte ich einen Fehler 'Fehler: Ungültige Eingabe: date_trans arbeitet mit Objekten der Klasse nur Datum'. Das Format des Datums, das ich verwende, ist POSIXct. –
@Jdbaba Dann sollten Sie scale_x_datetime() verwenden. Meine Antwort aktualisiert –
Vielen Dank. 'scale_x_datetime' funktioniert perfekt. –