使用lattice :: wireframe()绘制直表面

时间:2013-07-20 13:48:50

标签: r lattice wireframe

假设我想绘制以下数据帧:

df <- data.frame(expand.grid(1:10,1:10),rep(10,100))
colnames(df) <- c("x","y","z")

使用lattice wireframe()函数:

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE)

如何绘制给定坐标?我认为它与必须缩放/调整z轴有关,因为wireframe内的自动缩放可能会被所有z坐标相等所迷惑。

enter image description here

2 个答案:

答案 0 :(得分:2)

只需添加zlim参数。

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE, zlim=c(0,20))

Constant function

答案 1 :(得分:2)

这是来自帮助页面缩放部分:“此参数最常见的用途是设置箭头= FALSE,这会导致使用刻度线和标签而不是绘制箭头(默认值)。”因此,只需将其作为列表值添加到“scale”:

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE,
          scales=list(arrows=FALSE), zlim=c(0,10.1))

wireframe在绘制的平面位于其中一个极端时显示任何内容的失败似乎至少是“意外行为”,如果不是错误的话。我怀疑你不会在实际数据中看到这一点。由于整个数据平面在白色中点显示,因此您对悬垂的使用没有太大意义。 (如果您有除此病理示例之外的其他内容,这可能不是问题。)

enter image description here