2015-08-26 35 views
0

我想要使用MATLAB創建一些地塊,類似於天氣網絡如何顯示他們在區域內移動的風暴,如this創建類似於天氣風暴廣播的地塊

我有1000(X,Y)座標和相關的風暴警告值[X Y StormValue]StormValue的範圍在0:10之間,所以我想爲此範圍創建一個colorbar,然後用2D圖中的colorbar的相關顏色繪製每個(X,Y)座標。我知道如何創建3D meshsurf圖,但是我很好奇,如果在MATLAB中有一種簡單的方法來做這種類型的2D繪圖。

最終我想創建一個動畫,因爲我有StormValues所有1000(X,Y)點的1分鐘,但我甚至不知道從哪裏開始。任何關於在MATLAB中看什麼的幫助或建議都是值得讚賞的。 (如:矩陣img

+0

'doc圖像'爲劇情和'doc getframe'爲動畫應該讓你去。 – dasdingonesin

回答

2

您可以在矩陣堆棧所有的風暴警報值,其中img(i,j)是對應於x=jy=i的值,然後使用功能contourf,如:

contourf(img, 10) %// Being 10 the number of levels 

要顯示它依次,您可以將所有值堆疊到具有與「幀」一樣多的層的數組中。其中img(i,j,k)是與x=j,y=iframe=k對應的值。你可以簡單地用一個for循環:

s_per_frame = 0.3 %// seconds per frame 
for i=1:size(img,3) 
    contourf(img(:,:,i), 10); 
    pause(s_per_frame); 
end 
0

對於該地塊,只是爲每個圖像幀(xy作爲stormvalues,因爲你擁有它)一個二維矩陣。然後,你想要的每個值的強度映射到不同的顏色,則可以通過在最小到最大stormvalues(10)

的範圍使用標準噴射顏色表開始
c_map= jet(10); 

然後示出了使用圖像

image(your_2D_matrix); 
axis off; 
colormap(c_map); 
colorbar; 

然後,如@dasdingonesin建議的那樣,使用getframe拍攝圖像的圖像,保存圖像,然後通過每幀刷新圖形來生成動畫。

+0

user2840470問這個問題,我是建議'getframe'的人;) – dasdingonesin

+0

你說得對。我是新來的。該網站還修復了我的語法.. – ninehundred