这是我的.csv文件:
dateval,links
18/03/2013,100
19/03/2013,200
20/03/2013,300
21/03/2013,400
22/03/2013,500
这个文件被读入一个名为date1的对象,这是我用来绘制数据的代码:
g_range <- range(0, date1$links)
plot(date1$links, type="o", col="blue", ylim=g_range,
axes=FALSE, ann=FALSE)
axis(1, xlab=date1$links)
box()
title(main="Additions", col.main="red", font.main=4)
axis(2, las=1, at=50*0:g_range[2])
title(xlab="Date", col.lab=rgb(0,0.5,0))
title(ylab="# Links", col.lab=rgb(0,0.5,0))
以下是生成的图表:
未输出日期值,而是显示数字1 - 5。如何修改代码以便生成.csv文件中包含的日期值?我认为问题在于这一行:axis(1, xlab=date1$links)
?
答案 0 :(得分:1)
请改为尝试:
axis(1,at=1:5,labels = date1$dateval)
所以,你会注意到,如果你仔细看?axis
,你会发现根本没有xlab
参数,但第二和第三个参数是:
- 要绘制刻度线的点。非有限 (无限,NaN或NA)值被省略。默认情况下(NULL时) 计算tickmark位置,请参阅下面的“详细信息”。
标签 - 这可以是指定是否为的逻辑值 (数字)注释应在刻度线上进行,或者a 要放置的标签的字符或表达载体 tickpoints。 (其他对象由as.graphicsAnnot强制执行。)如果这样 是不合逻辑的,也应该提供相同的长度。如果 胁迫后标签的长度为零,它具有相同的效果 提供TRUE。
但也许你应该做更像这样的事情:
date1$dateval <- as.Date(date1$dateval,format = "%d/%m/%Y")
plot(date1$dateval,date1$links, type="o", col="blue", ylim=g_range, ann=FALSE,axes = FALSE)
axis(1,at=date1$dateval,labels = date1$dateval)
但与使用专门为此目的而设计的套装/功能相比,即使这是处理绘图日期的粗略方式。