Change units for contour plot
조회 수: 2 (최근 30일)
이전 댓글 표시
I am having a silly problem with my contour plot:
I have a contour of the pressures over a surface. Basically, I had vectors x and y which were locations on the surface and on each location, I had a value for pressure. I have a rectangular plot.
For the 1st plot, my x and y locations were in ft. I want to change their dimensions to meters. What I did was to multiply all the locations by 0.3048. However, doing this, I am not getting exactly the previous contour that I had for ft. dimensions. The overall trend is somehow the same but I can see some irregularities in some locations. Anyone knows what can cause this problem?
I am using contourf function with "V4" method.
Thanks. Maryam
댓글 수: 0
답변 (1개)
Kelly Kearney
2013년 7월 29일
Are you explicitly defining which contour levels to plot? If you don't, the contour function automatically chooses which levels to plot, trying to get some nice round numbers. If you specify the levels, you should get the same plots:
[x,y,z] = peaks;
clev = -8:2:6;
subplot(2,2,1);
[c,h] = contour(x,y,z);
clabel(c,h);
title('ft, automatic');
subplot(2,2,2);
[c,h] = contour(x,y,z*0.3048);
clabel(c,h);
title('m, automatic')
subplot(2,2,3);
[c,h] = contour(x,y,z, clev);
clabel(c,h);
title('ft, explicit')
subplot(2,2,4);
[c,h] = contour(x,y,z*0.3048, clev*0.3048);
clabel(c,h);
title('m, explicit')
댓글 수: 2
Kelly Kearney
2013년 7월 30일
[x,y,z] = peaks was just a way to generate some sample data. The peaks function is included in Matlab specifically to demonstrate things like surf, mesh, contour, etc. And clev = -8:2:6 creates a vector (values between -8 and 6, in steps of 2), which I later use as the specific contour levels in the 3rd and 4th subplots.
참고 항목
카테고리
Help Center 및 File Exchange에서 Contour Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!