固定宽高比图上的R grid()函数

时间:2014-07-01 15:03:59

标签: r plot visualization

我在固定宽高比图上遇到了R&#grid()函数的问题。

当使用固定宽高比进行绘图时,R的默认行为似乎是调整绘图窗口内部的大小,而不是调整绘图窗口本身的大小,如下所示:

enter image description here

除了地块两侧难看的空白区域(这是次要的,我可以处理它),这在尝试覆盖网格时会出现问题。如果我使用上一个绘图,并使用grid()函数覆盖10x10网格,我会得到以下内容:

enter image description here

请注意,网格遵循整个绘图窗口,而不是固定宽高比图。这使得在固定宽高比图上叠加规则网格非常困难(阅读:几乎不可能)。有谁知道这个很好的解决方案?

编辑:如果您想要运行代码(那里的信息真的不多),请点击此处:

x <- 1:1200
y <- rep(x,times=800)
dim(y) = c(1200,800)
png(file="EXAMPLE1.PNG",width=1000,height=500)
image(y, asp=1)
dev.off()
png(file="EXAMPLE2.PNG",width=1000,height=500)
image(y, asp=1)
grid(col="black",nx=10,ny=10)
dev.off()

1 个答案:

答案 0 :(得分:1)

您的x轴是y轴的两倍,因此要么使用两倍的网格线

png(file="EXAMPLE3.PNG",width=1000,height=500)
image(y, asp=1)
grid(20,10)
dev.off()

或直接使用abline

png(file="EXAMPLE4.PNG",width=1000,height=500)
image(y, asp=1)
invisible(sapply(seq(-1,2,0.1),function(i){
      abline(v=i,h=i,col = "lightgray", lty = "dotted",lwd = par("lwd"))
      }
      ))
dev.off()