如何创建具有格式良好的刻度线的空时间图框架

时间:2014-01-18 18:41:20

标签: r plot

如果我做一个如下的直线图,我会得到一个很好的x轴刻度标签,表示1月,2月等。

plot(y=c(0, 10), x=c(as.Date("2013-1-1"), as.Date("2013-12-31")))

enter image description here

如何获得相同的行为,但是使用空图框?为什么不在下面工作?我得到了带有数字标记的刻度标记,而不是标记为月份的标记。

plot(0, xlim=c(as.Date("2013-1-1"), as.Date("2013-12-31")), ylim=c(0, 10), type="n") 

enter image description here

2 个答案:

答案 0 :(得分:1)

plot(y=0, x=as.Date("2013-1-1"), xlim=c(as.Date("2013-1-1"), as.Date("2013-12-31")), ylim=c(0, 10), type="n")可能会保留x轴上的日期。

答案 1 :(得分:1)

您只想在type = "n"来电中plot()

plot(y=c(0, 10), x=c(as.Date("2013-1-1"), as.Date("2013-12-31")), type = "n")

"n"意味着什么都没有。

你第二次尝试的原因:

plot(0, xlim=c(as.Date("2013-1-1"), as.Date("2013-12-31")), ylim=c(0, 10),
     type="n")

不起作用的是底层绘图代码将您作为xlim参数传递的Date对象视为数字(自纪元以来的天数是"Date"类的定义方式,以及内部存储为数字)。如果我们这样做,我们可以看到正在发生的事情:

> pretty(as.numeric(c(as.Date("2013-1-1"), as.Date("2013-12-31"))))
[1] 15700 15800 15900 16000 16100