3D 绘图刻度标签与轴值不匹配(R 格子)

时间:2021-04-10 09:30:17

标签: r lattice wireframe

我正在使用以下代码创建 3D 绘图。

情节看起来几乎和我想要的一模一样。唯一的问题是 xy 轴的刻度标签不反映 x 和 y 向量的取值范围,而是对应于各自的向量。有趣的是,尽管 z 取决于 x 和 y,但 z 轴的值范围是正确的。

我想得到的是一个图,其中 x 轴和 y 轴有四个刻度线,其值的范围在 0 到 1 之间,就像底层向量的值一样。

非常感谢任何帮助。

transfmv1 <- function (x, y) {
  return (log(1/((x+y)*x)+1))
}

x <- seq(0.1, 1, len=20)
y <- x
z1 <- outer(x, y, transfmv1)


require(lattice)
require(graphics)
wireframe(z1,
          xlab=list(label="Source country", cex=0.8),
          ylab=list(label="Destination\n country", cex=0.8),
          zlab=list(label="Multiplication\n factor", cex=0.8),
          screen=list(z=-40, x=-60, y=0),
          scales=list(arrows=F),
          colorkey=F,
          drape=T, col.regions=gray.colors(1000, start = 0.3, end = 0.9, gamma = 2.2, rev = FALSE))

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以将定义网格的 x / y 值指定为 row.valuescolumn.values 参数(请参阅 ?wireframe.matrix),因此只需添加

wireframe(z1,
          # ...
          row.values = x, column.values = y)