Tôi có một câu hỏi rất đơn giản ở đây. Tôi có một bộ dữ liệu từ 2009-2012. Tôi muốn vẽ dữ liệu với các khía cạnh. Tôi đã tạo ra cốt truyện mặt như sau.Hiển thị trục x trên ggplot chỉ trong tháng 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()
Sản lượng của mã R trên là như sau:
Trên trục X Tôi chỉ muốn hiển thị tháng. Theo mặc định nó được hiển thị tháng và năm. Có cách nào tôi có thể thoát khỏi năm?
Mã đầy đủ tái sản xuất như sau:
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()
Cảm ơn.
Cảm ơn câu trả lời của bạn. Tuy nhiên, khi tôi cố gắng sử dụng tôi nhận được một lỗi 'Lỗi: Invalid input: date_trans làm việc với các đối tượng của lớp Date only'. Định dạng của ngày tôi đang sử dụng là POSIXct. –
@ Jdbaba Sau đó, bạn nên sử dụng scale_x_datetime(). Cập nhật câu trả lời của tôi –
Cảm ơn bạn rất nhiều. 'scale_x_datetime' hoạt động hoàn hảo. –