我正在使用以下代码创建 3D 绘图。
情节看起来几乎和我想要的一模一样。唯一的问题是 x 和 y 轴的刻度标签不反映 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))
答案 0 :(得分:1)
您可以将定义网格的 x / y 值指定为 row.values
和 column.values
参数(请参阅 ?wireframe.matrix
),因此只需添加
wireframe(z1,
# ...
row.values = x, column.values = y)