# How to plot contourf using following information?

조회 수: 4 (최근 30일)
UTKARSH VERMA 2021년 1월 7일
댓글: UTKARSH VERMA 2021년 1월 7일
I am having data as follows:
lon 256*1double
lat 128*1double
time 3654*1double
pr 256*128*3654double
I am using contourf(lon,lat,pr(:,:,:)) or contourf(lon,lat,pr(:,:,:)') but there is error of dimension

댓글을 달려면 로그인하십시오.

### 채택된 답변

KSSV 2021년 1월 7일
pr is a 3D matrix, you cannot use contourf on a 3D matrix. You need to draw layer by layer.
[m,n,p] = size(pr) ;
for i = 1:p
contourf(lon,lat,pr(:,:,i)) ; % if throws error, trispose pr
drawnow
end
Also have a look on slice.
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
UTKARSH VERMA 2021년 1월 7일
Thank you!

댓글을 달려면 로그인하십시오.

### 추가 답변 (1개)

Bjorn Gustavsson 2021년 1월 7일
You would have to make one contour-plot for each time-step:
i_time = 1;
contourf(lon,lat,pr(:,:,i_time)')
If I understood the dimensions correctly. So to get all you'll have to "animate" in some fashion. What gives the best illustration of what's going on depends on what's going on (a tautology, I know) so you have to be prepared to try different ideas to see what works best. I can for example imagine something like this working:
for i_time = 1:(size(pr,3)-3)
contour(lon,lat,pr(:,:,i_time)',10,'b')
hold on
contour(lon,lat,pr(:,:,i_time+1)',10,'c')
contour(lon,lat,pr(:,:,i_time+2)',10,'g')
contour(lon,lat,pr(:,:,i_time+3)',10,'r')
hold off
drawnow
end
HTH
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
UTKARSH VERMA 2021년 1월 7일
Thank you!

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Polar Plots에 대해 자세히 알아보기

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by