r - 沿日期刻度线放置网格

标签 r strptime

我有以下数据:

x=strptime(20010101:20010110)
y=1:10
z=data.frame(x,y)

所以我的数据是这样的:
            x  y
1  2001-01-01  1
2  2001-01-02  2
3  2001-01-03  3
4  2001-01-04  4
5  2001-01-05  5
6  2001-01-06  6
7  2001-01-07  7
8  2001-01-08  8
9  2001-01-09  9
10 2001-01-10 10

当我使用以下方法在基础中创建图时:
plot(x,y)
grid(NULL,NULL)

我的垂直网格与日期刻度线不对齐。我知道这似乎是一个非常简单的问题,但是我在任何地方都没有找到解决方案。有没有一种方法可以使用不需要我执行此操作的基准来使垂直网格与日期刻度线对齐:
abline(v=as.numeric(strptime(c(20010102,20010104,20010106,20010108,20010110),'%Y%m%d')))

我有很多不同日期的地块,我真的想尽可能地自动化,希望使用base。

最佳答案

abline可以从您的POSIXlt向量中提取日期滴答(通过strptime)。

x=strptime(20010101:20010110,format="%Y%m%d")
y=1:10

plot(x,y)
grid(nx=NA, ny=NULL)
abline(v=axis.POSIXct(1, x=pretty(x)),col = "lightgray", lty = "dotted", lwd = par("lwd"))

我建议创建自己的函数,该函数将同时添加水平和垂直网格。
my.grid <-function(){
grid(nx=NA, ny=NULL)
abline(v=axis.POSIXct(1, x=pretty(x)),col = "lightgray", lty = "dotted", lwd =
par("lwd"))
}

plot(x,y)
my.grid()

关于r - 沿日期刻度线放置网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119323/

相关文章:

r - 在 R 中查找数据框中的所有唯一字符

r - 用新数据框中的数据插入 NA

python - 使用 datetime.strptime() 时出现问题

python - datetime.strptime 在 PyQt4 QtGui.QWidget 继承类中不起作用

python - 如何处理 7 位小数精度而不是 6 位的微秒

r - 更改填充颜色方向

r - 是否有一个函数可以根据一个条件创建新变量,如果我的 27 列中的任何一列有 "Yes",则创建 1,否则创建 0

Python 将字符串转换为日期时间以便与日期时间对象进行比较

linux - 如何使用默认 R 安装通过 conda 安装 rpy2

python - 使用 Strptime 时出现 ValueError