我正在运行一个R脚本,该脚本使用plot
绘制一段时间内的数据,并获取某些数据as.Date
。然后,我要使用grid
添加类似这样的准则:
plot(as.Date(data[["Date"]]), -data[["dbns"]], lwd=1, col = colours[i], type="l",ylim=ylimit, xlim=xlimit, xlab="", ylab =ylabel)
grid(NULL,NULL,lwd=1)
下面是如何显示此结果的示例(实际上是在将此图循环3次以添加每行之后的示例)
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9BSWlQYy5qcGcifQ==” alt =“带有日期的打印语句的输出>
我遇到的问题是,grid
添加的指南与plot
添加的默认刻度线不一致。默认情况下,plot函数每10年添加一次滴答,这就是我想要的。查看axTicks(1)
会给我0 5000 10000 15000
,它是准则的位置,以1970年1月1日之后的天数为单位。
是否有办法找出已添加的刻度线的位置?更重要的是,是否有一种方法可以设置准则以匹配这些位置?
我意识到在这个例子中,记号是[0, 365.25*10, 365.25*20 etc.]
,但是解决一般情况的答案会很好。
谢谢
JP
编辑:
这里是一个可复制的示例,以确切说明我的意思。
data <- read.csv("test.csv"), header =TRUE) data[["Date"]] <- as.Date(data[["Date"]], format = "%d/%m/%Y") data<-data[order(as.Date(data$Date)),] plot(as.Date(data[["Date"]]), -data[["dbns"]], type="l", xlim=xlimit) grid(NULL,NULL,lwd=3)
文件test.csv如下所示(实际数据摘录)
bore Date dbns 42230210A 20/01/2009 13.13 42230210A 8/05/2009 13.21 42230210A 18/06/2009 13.19 42230210A 3/08/2009 13.2 42230210A 2/09/2009 13.25 42230210A 1/10/2009 13.3 42230210A 3/12/2009 13.32 42230210A 24/02/2010 13.3 42230210A 18/05/2010 13.3 42230210A 25/04/2012 11.45 42230210A 27/09/1966 11.18 42230210A 28/10/1969 11.14 42230210A 6/01/1970 11.03 42230210A 5/06/1973 10.68 42230210A 28/08/1973 10.63 42230210A 2/10/1973 10.73 42230210A 4/12/1973 10.7 42230210A 20/02/1980 11.39 42230210A 29/04/1980 11.45 42230210A 27/08/1980 11.45 42230210A 22/06/1988 11.14 42230210A 27/02/1996 11.78 42230210A 6/08/1996 11.68 42230210A 8/02/2000 11.64 42230210A 8/06/2000 11.71 42230210A 7/09/2000 11.75 42230210A 15/07/2008 13.01
其输出如下。准则偏离了刻度线?
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ucGc2bi5qcGcifQ==” alt =“在此处输入图像描述”>
我正在运行一个R脚本,该脚本使用plot和一些数据作为日期来绘制随时间变化的数据。然后,我使用网格添加诸如以下的准则:plot(as.Date(data [[“ Date”]]]),-data [[“ dbns”]],lwd = 1,...
?grid
表示正在发生的事情是,它基于“默认”刻度线位置放置了网格线,但是由于绘制了日期对象,R并未使用“默认”(在将日期视为数字变量的感觉)以放置刻度线。Axis.Date
,可为Date
对象的轴创建适当的漂亮轴刻度位置。这不会更改par('xaxp')
用来查找刻度线位置的grid
。