作者iamclaudiaa (claudia)
看板MATLAB
标题[讨论] 画等高线问题
时间Tue Jul 1 13:47:21 2014
各位好
又来问问题了..
我想画出这种图
http://ppt.cc/vDSG
目前有经度、纬度、CO2浓度的资料
在地图上画出CO2的等高线图
已经画出台湾地图了
但等高线的部分一直试不出来..
我的资料如下
LAT LON CO2
24.1 120.1 400
24.2 120.2 405
24.3 120.3 410
.
.
.
.
.
共有十几万笔
我目前用的语法是
[LatGrid, LonGrid] = meshgrid(linspace(min(LAT), max(LAT)), linspace(min(LON),
CO2Grid = griddata(LAT, LONG, CO2, LatGrid, LonGrid);
contourm(LatGrid, LonGrid, CO2Grid);
但是画出来的图有点奇怪
可能是因为用linspace之後使得我的数据点不够
(用griddata出来後有一大部分的资料是NAN)
所以画出来的等高线图只有一小部分
但把间距改小一点的话电脑又跑不太动....
请问有没有人知道这种图需要如何画
谢谢各位~^^
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.16.134
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1404193643.A.279.html
1F:→ prolog:imagesc? 07/02 13:25
2F:推 sin55688:没实际作,我能帮的也不多,给你些建议 07/02 13:53
3F:→ sin55688:1. 有关NAN的部分,或许不能出现。没记错他的演算法是用 07/02 13:54
4F:→ sin55688:内插法,NaN会导致内插不出值,画出来也不准。建议把NaN 07/02 13:55
5F:→ sin55688:部分,自行用简单内插法补满。 07/02 13:55
6F:→ sin55688:2. Contour 可以调你要画的等高值,你可以缩你要画的数量 07/02 13:57
7F:→ sin55688:例如你只想显示0,0.1,0.3,不要用预设的,越多越慢 07/02 13:58
8F:→ iamclaudiaa:感谢~~~我再试试看把nan用掉的结果好了!^^ 07/02 20:13
9F:推 sin55688:如果想画范例的图的话,势必要有每个格点的CO2值。 07/03 00:15
10F:→ sin55688:但如果只想要局部的等高图的话,当然不用。但Matlab有没 07/03 00:16
11F:→ sin55688:能避开NaN的参数(countour的)就不知道了。 07/03 00:17