抱歉,如果我错过了明显的...
我正在用 rgl 绘制一个 3d 曲面。我的代码是
library(rgl)
dem1 = read.table(file="file.txt",skip=5,header=F,na.strings="0.")
dem = dem1[order(dem1$V1,dem1$V2),]
z = matrix(dem$V3,nrow=1250,ncol=1250)
is.na(z) = (z < 200)
#create x y dimensions
x=4*(1:nrow(z))
y=4*(1:ncol(z))
open3d()
bg3d("white")
persp3d(x,y,z)
这给出了这张地图(添加了颜色以更好地查看功能,即使我没有将代码放在上面)
问题是,无论我对这张地图做什么,它都是颠倒的,即 x 应该是 y,而当前的 y 从西 (0) 到东 (5000) 应该是相反的,这样高架特征实际上应该是左下而不是右下。
我使用与此脚本相同的文件绘制了一个非常简单的等高线图
dem=read.table("file.txt",header=F,skip=5,na.strings="0.")
library(lattice)
contourplot(dem$V3 ~ dem$V1+dem$V2)
这使
并得到右轴和左下角最高的区域,正是它应该在的位置,所以数据没有问题。
我解释了数据在这里的样子以及为什么我觉得需要重新排序
dem = dem1[order(dem1$V1,dem1$V2),]
奇怪的是我是否使用了上面的命令,3d 表面图看起来完全一样,这让我想知道代码是否真的使用了使用order
命令创建的“dem”数据集,或者它是否仍在使用原始的“dem1” " 它从文件中读取并且顺序错误的数据。
我很高兴根据请求发送数据或将其放在可以看到的地方,但我无法在此处复制它,因为它是 1250 行 x1250 列。
提前致谢!