簡體   English   中英

在繪圖中添加“月”作為x軸標簽

[英]Adding “months” as x-axis labels to a plot

我正在嘗試使用ggplot在R中繪制附加數據。

數據鏈接

這是我的腳本:

library(ggplot2)

dat<-read.csv("dat.csv",header=TRUE,sep=",")
dat<-data.frame(dat)
dat$min<-dat$zam-sd(dat$zam)
dat$max<-dat$zam+sd(dat$zam)
ggplot(dat,aes(dd,zam))
+geom_ribbon(aes(ymin=min,ymax=max),fill="skyblue")
+geom_line(color="steelblue4",lwd=1)
+theme(panel.background=element_rect(fill="white"), axis.line=element_line(colour="black"), panel.border = element_rect(colour = "black", fill=NA, size=5))

題:

我希望xaxis可以用幾個月(一月到十二月)。 但是數據是a年。 我嘗試通過給出錯誤的此命令。

dat$date <- seq(as.Date("2012/1/1"), as.Date("2012/12/31"), "month")

錯誤:

$<-.data.frame*tmp* ,“ date”,value = c(15340,15371,15400,:替換有12行,數據有366

任何人都可以建議一個簡單的方法來執行此操作。

也許這樣做:

dat$date <- as.Date(dat$dd,origin="2012-01-01")
ggplot(dat,aes(date,zam))+
  geom_ribbon(aes(ymin=min,ymax=max),fill="skyblue")+
  geom_line(color="steelblue4",lwd=1)+
  theme(panel.background=element_rect(fill="white"),
          axis.line=element_line(colour="black"))+
  scale_x_date(date_labels = "%b",date_breaks = "1 month")

在此處輸入圖片說明

這將使您了解日期:

dat$date <- as.Date(strptime(paste("2012", dat$dd), format="%Y %j"))

然后ggplot類似:

ggplot(dat, aes(date, zam) + 
geom_ribbon(aes(ymin = min, ymax = max),fill = "skyblue") + 
geom_line(color = "steelblue4", lwd = 1) + 
scale_x_date(date_labels = "%B", date_breaks = "1 month")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM