# Contour plot for a non rectangular object

조회 수: 32(최근 30일)
Ghazwan 2022년 10월 5일
댓글: William Rose 2022년 10월 6일
I have this case that I worked out in another software.
In the attached file, you can see the X,Y coordinates. The third column represents the results that I need to plot in a contour silimar to the one in the image above.
I tried several codes, but all of them plot on a rectagular area and/or not showing the same shape for the contour area. For example, the following code:
x=xyz(2:end,1);
y=xyz(2:end,2);
z=xyz(2:end,3);
[X,Y]=meshgrid(min(x):max(x),min(y):max(y));
Z=griddata(x,y,z,X,Y);
contour(X,Y,Z)

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

### 채택된 답변

William Rose 2022년 10월 5일
[X,Y]=meshgrid(x,y) makes a grid where all the x values are the same across the grid, and likewise for yhe y values.
You can fix it by making your own X and Y instead of using meshgrid.
Nx=41; Ny=9;
x=((0:Nx-1)-(Nx-1)/2)*dx; y=((0:Ny-1)-(Ny-1)/2)*dy;
[X,Y]=meshgrid(x,y); %initial approximation
Z1=X+2*Y;
subplot(211); surf(X,Y,Z1);
xlabel('X'); ylabel('Y'); axis equal; view(0,90)
for i=1:Nx
if i<=5||i>=37
ymult=1;
elseif i>=32
ymult=(i-25)/12;
elseif i<=10
ymult=(17-i)/12;
else
ymult=0.5;
end
end
It works. The code to adjust the y-values is not very elegant, but it demonstrates the possibilities for creating a non-retangular grid.
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
William Rose 2022년 10월 6일
@Ghazwan, you are welcome. Your plan sounds good.

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

### 범주

Find more on Surface and Mesh Plots in Help Center and File Exchange

R2019a

### Community Treasure Hunt

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

Start Hunting!

Translated by