问题描述
我正在使用以下代码创建 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",zlab=list(label="Multiplication\n factor",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.values
和 column.values
参数(请参阅 ?wireframe.matrix
),因此只需添加
wireframe(z1,# ...
row.values = x,column.values = y)