![](/img/trans.png)
[英]Customize x-axis labels on ggplot: Only display dates that are on Mondays
[英]Customize x-axis labels with dates in R
我有每小時采樣的數據,並相應地繪制了數據;
x<-c("2016-05-09 09:00:00", "2016-05-09 10:00:00", "2016-05-09 11:00:00", "2016-05-10 12:00:00")
y<- c(2,NA,3,5)
df<-data.frame(x,y)
plot(df$x,df$y)
在x軸上,我只想將時間戳顯示為year-month-date。 此外,我只希望每個日期顯示一個標簽(即使我在同一日期進行了多次測量)。 有沒有辦法做到這一點? 我更喜歡基本功能
親切的問候,
我想出了一個解決方案。 也許它不是最好的,但它在這里:
我禁止繪制x軸par(xaxt ='l)的繪圖,然后使用axis()創建了一個新的xaxis。 我將刻度線從1到具有測量值的總小時數(請注意,這是連續數據)按24(每天的小時數)排序,然后使用labels = c添加了自己的標簽(“ 2016-05-09 “,..)在axis()中。
請注意,此解決方案有效,因為我只有約10天的數據可以顯示。 我認為該方法不適用於長時間序列。
#Hourly data
x<-c("2016-05-09 00:00:00","2016-05-09 01:00:00", "2016-05-09 02:00:00", "2016-05-09 03:00:00", "2016-05-09 04:00:00", "2016-05-09 05:00:00","2016-05-09 06:00:00","2016-05-09 07:00:00","2016-05-09 08:00:00","2016-05-09 09:00:00","2016-05-09 10:00:00","2016-05-09 11:00:00","2016-05-09 12:00:00","2016-05-09 13:00:00","2016-05-09 14:00:00","2016-05-09 15:00:00","2016-05-09 16:00:00","2016-05-09 17:00:00","2016-05-09 18:00:00","2016-05-09 19:00:00","2016-05-09 20:00:00","2016-05-09 21:00:00","2016-05-09 22:00:00","2016-05-09 23:00:00","2016-05-10 00:00:00")
y<-seq(1,length(x),by=1)
df<-data.frame(x,y)
#Suppress x-axis
plot(df$x,df$y,xaxt='n')
#Create new x-axis with ticks in 24 hour interval
axis(side=1,at=seq(1,length(x),by=24),labels=c("2016-05-09","2016-05-10"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.