我有date1列,其中包含日期行。此行包含日期格式为dd / mm / yyyy
直接绘制日期值我正在使用:
axis(1, at=1:5, lab=c("01/01/2013" , "01/02/2013" , "01/03/2013" ,
, "01/04/2013" , , "01/05/2013"))
要读取.csv文件中的值,我需要类似的东西吗? : axis(1,at = 1:5,lab = c(date1 $ date)) 我想我需要删除'at'参数,因为日期的数量是动态的。
以下是整个代码:
g_range <- range(0, date1$links)
plot(date1$links, type="o", col="blue", ylim=g_range,
axes=FALSE, ann=FALSE)
axis(1, at=1:5, lab=c("01/01/2013" , "01/02/2013" , "01/03/2013" ,
, "01/04/2013" , , "01/05/2013"))
box()
title(main="Additions", col.main="red", font.main=4)
axis(2, las=1, at=50*0:g_range[2])
这是正在读取的文件的格式:
value , links
18/03/2013,100
19/03/2013,200
20/03/2013,300
21/03/2013,400
22/03/2013,500
我正在阅读链接列,但是想要更新代码以便也读取日期,因为现在在r代码本身中设置了日期值。动态我的意思是.csv文件可以包含日期和时间的变量列表。链接值,所以在上面的例子中有5个值/链接对,但可能有6或7或8等...
答案 0 :(得分:0)
目前尚不清楚你想做什么,畏缩你没有给出一个可重复的例子,并且不清楚什么是动态的。我想,你可以使用函数axis.Date()
获取一个包含日期的对象,并生成一个带有适当标签的轴。
这里有一个例子:
我创建了一些虚拟情节...
random.dates <- seq(as.Date("01/01/2013",format='%d/%m/%Y'),
as.Date("01/05/2013",format='%d/%m/%Y'),length.out=50)
plot(random.dates, 1:50, xaxt="n",main='pretty axes dates',type='o')
然后我将你的字符串向量强制转换为日期向量
at =as.Date(c("01/01/2013" , "01/02/2013" , "01/03/2013" ,
"01/04/2013" , "01/05/2013"),format='%d/%m/%Y')
注意在axis.Date
的调用中,参数格式与用于将字符串强制转换为日期的格式不同...
axis.Date(1,at=at,format='%d/%m/%Y')
修改* 强>
何以阅读csv文件:
dat <- read.table(text='value , links
18/03/2013,100
19/03/2013,200
20/03/2013,300
21/03/2013,400
22/03/2013,500',header=TRUE,sep=',')
dat$value <- as.Date(dat$value,format='%d/%m/%Y')