现在想编个程序,给定了测试坐标点x值V1、y值V2以及该坐标点的测试数据值z值V3,现在现在想以x,y为坐标,得到一个关于z值的等高曲线图,二维、三维都可以。坐标是原点加上二维坐标里边的三个同心圆,半径49,98,147。
x、y和z值之间没有函数关系。或者说x,y做散点图,叠加Z的等高曲线图
myContourdata <- read.csv("M:/BaiduYunPan/百度云/006-Office_PPT_Excel_Word/数据分析-R/Packages_for_R/testData.csv", header=FALSE)
myContourdata
#数据
V1 V2 V3
1 0.0000 0.0000 884.3000
2 -0.0001 49.0000 861.9000
3 -34.6483 34.6480 844.2000
4 -49.0000 -0.0001 837.6000
5 -34.6480 -34.6483 847.2000
6 0.0001 -49.0000 862.2000
7 34.6483 -34.6480 871.6000
8 49.0000 0.0001 879.4000
9 34.6480 34.6483 879.4000
10 -0.0003 98.0000 782.6000
11 -37.5034 90.5401 766.8000
12 -69.2967 69.2962 752.1000
13 -90.5404 37.5026 742.1000
14 -98.0000 -0.0004 743.5000
15 -90.5401 -37.5034 748.4000
16 -69.2962 -69.2967 758.9000
17 -37.5026 -90.5404 772.4000
18 0.0004 -98.0000 781.9000
19 37.5034 -90.5401 790.0000
20 69.2968 -69.2962 795.2000
21 90.5404 -37.5026 797.8000
22 98.0000 0.0004 806.1000
23 90.5401 37.5034 811.9000
24 69.2961 69.2968 808.6000
25 37.5026 90.5404 796.9000
26 -0.0006 147.0000 705.5127
27 -38.0470 141.9910 697.9628
28 -73.5004 127.3055 687.9295
29 -103.9450 103.9443 680.7770
30 -127.3060 73.4996 673.0285
31 -141.9913 38.0458 670.4457
32 -147.0000 -0.0006 669.0549
33 -141.9910 -38.0470 668.5582
34 -127.3054 -73.5004 670.7437
35 -103.9443 -103.9452 680.5783
36 -73.4994 -127.3060 690.9097
37 -38.0458 -141.9913 698.1615
38 0.0006 -147.0000 701.6384
39 38.0470 -141.9910 709.1883
40 73.5006 -127.3054 712.6652
41 103.9452 -103.9443 713.2612
42 127.3061 -73.4994 712.4665
43 141.9913 -38.0458 716.5394
44 147.0000 0.0006 723.7912
45 141.9910 38.0470 731.1424
46 127.3054 73.5006 733.2285
47 103.9443 103.9452 731.8378
48 73.4994 127.3061 726.1754
49 38.0458 141.9913 717.2348
#先画坐标点看一下
plot(myContourdata$V1~myContourdata$V2)
#contour等高线函数
contour(myContourdata$V1, myContourdata$V2, myContourdata$V3)
#错误于contour.default(myContourdata$V1, myContourdata$V2, myContourdata$V3) :
#需要递增的'x'和'y'值
#关键是X递增了,Y就不能递增啊?
matlab程序如下:d = [-71 56 0
-70 5 1
74 5 1
...
-19 6 -6
-45 23 -12
-63 17 -2
57 17 12];
[X Y] = meshgrid(-80:80, -80:80);
Z = griddata(d(:,1), d(:,2), d(:,3), X, Y);
C=contour(X, Y, Z);clabel(C);
请问相同程序在R中如何实现?需要做插值函数?