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

3D plot tick labels do not match with axis values (R lattice)

我正在使用以下代码创建 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))

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

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