persp如何确定滴答声?尤其是如何由persp决定使用多少个刻度和哪个刻度增量?

时间:2018-10-04 09:00:57

标签: r perspective

嗨,

我将persp用于3D图,我试图找出设置参数perspticktype="detailed"如何定义刻度。
我想在与刻度相对应的表面周围的框中绘制线条。到目前为止,我先绘制没有标签和轴的表面,然后添加所有线条和轴后缀。为了弄清楚我做了什么->示例代码:

z <- matrix(rep(1:10, each=10), nrow=10, ncol=10)
x.axis <- 1:nrow(z)
y.axis <- 1:ncol(z)
max.y <- max(y.axis)

# Drawing the surface without the axes and no lines on the surface
pmat <- persp(z = z, x = x.axis, y = y.axis ,
              lphi = 100, phi = 25, theta = -30,
              axes=F,
              border = NA,  # no lines on the surface
              col="deepskyblue",
              expand = 0.5,  
              shade = 0.65)

现在,我在表面上添加具有不同颜色的线条以及带有刻度和标签的轴:

par(new=T)
pmat <- persp(z = z, x = x.axis, y = y.axis ,
              lphi = 100, phi = 25, theta = -30,
              ticktype = "detailed", 
              expand = 0.5, 
              cex.lab=0.75, 
              col=NA, 
              border="grey80")
par(new=F)

要使曲面上的框上有线条,请使用以下命令:

for (z_high in c(2,4,6,8)) {
  lines(trans3d(x.axis, max.y, z_high, pmat) , col="black", lty=3)
}

如您所见,我使用了自己定义的向量c(2,4,6,8),该向量表示背面框线的z值。如果输入表面现在发生变化,我必须自己调整该矢量。有没有一种方法可以获取persp图中所有轴的刻度?有人知道persp如何定义刻度线吗?

0 个答案:

没有答案