ggplot2中的x轴格式

卡塔琳娜(Katharina)

我正在尝试在ggplot2中做一个简单的温度随时间变化的曲线。我每天有8个月的平均温度测量。当我绘制此图时,x轴变得非常拥挤。如何格式化x轴,以便仅将全名和年份的8个月和年份(例如,2013年10月)用作刻度名称?

到目前为止,这是我的代码:

T <- read.table("R_Q_all.csv", header=T, sep=";")
head(T)

      Q       date
1 2.440 2013-10-01
2 2.206 2013-10-02
3 2.172 2013-10-03
4 3.115 2013-10-04
5 3.136 2013-10-05
6 2.788 2013-10-06

library("ggplot2")
library("scales")
ggplot(data=na.omit(T), aes(x=date, y=Q))
+ geom_line()+
+ scale_x_date(breaks = "month", labels=date_format("%m-%Y"))+
+ xlab("date")+
+ ylab("temp"))

Fehler in aes(x = date, y = Q) + geom_line() : 
  nicht-numerisches Argument für binären Operator

这给了我一个错误,即二进制运算符有一个非数字参数。

姓名

您的date栏必须是使用的日期时间变量as.Date,并确保+符号位于每个句子的末尾。这是我的测试代码:

#T <- read.table("R_Q_all.csv", header=T, sep=";")

set.seed(20141028)
T <- data.frame(Q=rnorm(100,mean=2.6428,sd=0.4433),
            date=as.character(as.Date(Sys.time())+c(1:100)),
            stringsAsFactors=FALSE)

head(T)

T$date <- as.Date(T$date)

library("ggplot2")
library("scales")

ggplot(data=na.omit(T), aes(x=date, y=Q))+
geom_line()+scale_x_date(breaks = "month", labels=date_format("%m-%Y"))+
xlab("date")+ylab("temp")

我创建了一个模仿read.table输出的T data.frame,然后转换了名为date的字符串列,并且您的ggplot代码正常运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章