我的 R 数据采用x
、y
和z
格式,分别是长度为 10 和 19 的向量,并且x
是10x19 整数的矩阵。我有以下代码可以打印我的 3D 表面:y
z
height <- (z - range(z)[1]) / diff(range(z))
r.prop <- height
g.prop <- 0
b.prop <- 1 - height
color <- rgb(r.prop, g.prop, b.prop, maxColorValue=1)
persp3d(x, y, z, theta=50, phi=25, expand=0.75, col=color, ticktype="detailed",
xlab="filesize [kb]", ylab="record size [kb]", zlab="speed [b/s]",
axes=TRUE)
我的问题是y
轴包含 2 的幂(4、8、16、32、64、...、2048、..),这会将我的大部分数据点压缩到绘图的低范围部分。我想要的是数据点的均匀分布,即点 4 和 8 之间的空间应该与 1024 和 2048 之间的空间相同,就像它在 Excel 电子表格曲面图中一样。
你能告诉我哪个命令或参数可以用 persp3d 实现吗?
非常感谢!洛迪
加法:在将轴更改为 log2,或者只是执行 ac(1:length(x)) 和 c(1:length(y)) 而不是实际的轴值之后,它看起来更好,但现在有这些奇怪的拼图形状我的数据中根本没有体现。你们知道这里发生了什么吗?在此处查看图片http://i.stack.imgur.com/WBI3r.png