Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于用r代码绘制等高线图_R_Contour - Fatal编程技术网

关于用r代码绘制等高线图

关于用r代码绘制等高线图,r,contour,R,Contour,我是R代码的新手。现在我在用R代码绘制等高线图时遇到了一些麻烦 我已经检查了帮助(filled.contour),它告诉我们如果你想绘制轮廓,x,y应该都是升序。实际上,我随机收到数据,比如: latitude, longitude, value 37.651098 140.725082 9519 37.650765 140.725248 9519 37.692738 140.749118 23600 37.692737 140.749118 9911 37.692695 140.749107

我是R代码的新手。现在我在用R代码绘制等高线图时遇到了一些麻烦

我已经检查了帮助(filled.contour),它告诉我们如果你想绘制轮廓,x,y应该都是升序。实际上,我随机收到数据,比如:

latitude, longitude, value
37.651098 140.725082 9519
37.650765 140.725248 9519
37.692738 140.749118 23600
37.692737 140.749118 9911
37.692695 140.749107 16591
37.692462 140.74902 6350
37.692442 140.749052 5507
37.692413 140.749148 5476
37.692383 140.74929 7069
37.692357 140.749398 6152
37.692377 140.749445 6170
37.692355 140.749587 7163
37.692298 140.749672 6831
37.692292 140.749787 6194
37.692283 140.749903 6696
37.692342 140.750007 8204
37.692585 140.750037 2872
37.692648 140.749948 3907
37.692655 140.749827 4891
37.692667 140.749687 4899
如何绘制等高线图!? 这是我的密码:

args <- commandArgs(trailingOnly = TRUE) 
data1 <- args[1]
outputDir <- args[2]
outputFig = paste(outputDir, "Cs13x.jpeg",sep="");
jpeg(file = outputFig, width = 800,height=600, pointsize=20)
pinkcol <- rgb(1,0.7,0.7)

gpsdata <- read.table(file=data1,sep=" ");
lat <- as.vector(gpsdata[,1]);
lon <- as.vector(gpsdata[,2]);
datas <- as.vector(gpsdata[,3]);
datas <- abs(datas)
#---Convert gpsdata into x,y coordinate---#
# Convert degree into value
lat_pi <- lat*pi/180;
lon_pi <- lon*pi/180;
# calculate the value into corresponding x,y coordinate
x = cos(lat_pi) * cos(lon_pi);
y = cos(lat_pi) * sin(lon_pi);
#----------#
dataMatrix = matrix(datas, nrow = length(datas), ncol=length(datas));
plot.new()
filled.contour(sort(x),sort(y, decreasing = TRUE),dataMatrix, col = rainbow(100),     main="Contour Figure of Cs13x"); (**WRONG HERE!!!**)
dev.off()

args使用“akima”包就可以了。它设计用于处理不规则间隔的z值。前两点与其余两点有很大的区别,这使得整个数据集的结果看起来相当粗略,所以我省略了它们

 require(akima)
 gps.interp <- with( gpsdata[-(1:2), ], interp(x=latitude, y=longitude, z=value))
 contour(gps.interp)
require(秋田)

gps.interpakima软件包就可以了。它设计用于处理不规则间隔的z值。前两点与其余两点有很大的区别,这使得整个数据集的结果看起来相当粗略,所以我省略了它们

 require(akima)
 gps.interp <- with( gpsdata[-(1:2), ], interp(x=latitude, y=longitude, z=value))
 contour(gps.interp)
require(秋田)

你的数据在常规网格上吗?对mnel:没有。但我认为问题在于filled.contour函数,因为它需要x,y的升序…你的问题更多的是filled.contour函数不适合你的数据。你能发布一个合理的可复制的例子吗?到mnel:我在这里上传了我的代码,请帮助我,thx~~关于如何制作一个可复制的例子的提示:你的数据在一个常规的网格上吗?到mnel:不。但我认为问题在于filled.contour函数,因为它需要x,y的升序…你的问题更多的是filled.contour函数不适合你的数据。你能发布一个合理的可复制示例吗?致mnel:我已经在这里上传了我的代码,请帮助我,thx~~关于如何制作可复制示例的提示:致DWN:我已经尝试过akima软件包,我认为它解决了我的问题。真的谢谢你。对德温说:我试过秋马套餐,我想它解决了我的问题。真的谢谢你。