我正在尝试在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] 删除。
我来说两句