[討論] 畫等高線問題

看板MATLAB作者 (claudia)時間11年前 (2014/07/01 13:47), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/1
各位好 又來問問題了.. 我想畫出這種圖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://www.ptt.cc/bbs/MATLAB/M.1404193643.A.279.html

07/02 13:25, , 1F
imagesc?
07/02 13:25, 1F

07/02 13:53, , 2F
沒實際作,我能幫的也不多,給你些建議
07/02 13:53, 2F

07/02 13:54, , 3F
1. 有關NAN的部分,或許不能出現。沒記錯他的演算法是用
07/02 13:54, 3F

07/02 13:55, , 4F
內插法,NaN會導致內插不出值,畫出來也不准。建議把NaN
07/02 13:55, 4F

07/02 13:55, , 5F
部分,自行用簡單內插法補滿。
07/02 13:55, 5F

07/02 13:57, , 6F
2. Contour 可以調你要畫的等高值,你可以縮你要畫的數量
07/02 13:57, 6F

07/02 13:58, , 7F
例如你只想顯示0,0.1,0.3,不要用預設的,越多越慢
07/02 13:58, 7F

07/02 20:13, , 8F
感謝~~~我再試試看把nan用掉的結果好了!^^
07/02 20:13, 8F

07/03 00:15, , 9F
如果想畫範例的圖的話,勢必要有每個格點的CO2值。
07/03 00:15, 9F

07/03 00:16, , 10F
但如果只想要局部的等高圖的話,當然不用。但Matlab有沒
07/03 00:16, 10F

07/03 00:17, , 11F
能避開NaN的參數(countour的)就不知道了。
07/03 00:17, 11F
文章代碼(AID): #1Jiajh9v (MATLAB)
文章代碼(AID): #1Jiajh9v (MATLAB)