[討論] 畫等高線問題

作者: iamclaudiaa (claudia)   2014-07-01 13:47:21
各位好
又來問問題了..
我想畫出這種圖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)
所以畫出來的等高線圖只有一小部分
但把間距改小一點的話電腦又跑不太動....
請問有沒有人知道這種圖需要如何畫
謝謝各位~^^
作者: prolog (波卡)   2014-07-02 13:25:00
imagesc?
作者: sin55688 (單手挑藏獒)   2014-07-02 13:53:00
沒實際作,我能幫的也不多,給你些建議1. 有關NAN的部分,或許不能出現。沒記錯他的演算法是用內插法,NaN會導致內插不出值,畫出來也不准。建議把NaN部分,自行用簡單內插法補滿。2. Contour 可以調你要畫的等高值,你可以縮你要畫的數量例如你只想顯示0,0.1,0.3,不要用預設的,越多越慢
作者: iamclaudiaa (claudia)   2014-07-02 20:13:00
感謝~~~我再試試看把nan用掉的結果好了!^^
作者: sin55688 (單手挑藏獒)   2014-07-03 00:15:00
如果想畫範例的圖的話,勢必要有每個格點的CO2值。但如果只想要局部的等高圖的話,當然不用。但Matlab有沒能避開NaN的參數(countour的)就不知道了。

Links booklink

Contact Us: admin [ a t ] ucptt.com