# How to plot a mashgrid within an ir-regular shape?

19 ビュー (過去 30 日間)
Andi 2023 年 5 月 17 日
コメント済み: Andi 2023 年 5 月 18 日
Hi everyone,
I am looking to plot a meshgrid figure with an irregualr shape and then need to need the grids within a bounded regions along with the central location of each grid point.
Here is what i did so far:
% Step 1: Create a rectangualr meshgrid considering the region of
% ir-regualr bounded area
clear all
clc
x=72.68:0.005:72.97;
y=34:0.005:34.7;
n = length(x ) ;
m = length(y ) ;
[X,Y] = meshgrid(x,y ) ;
plot(X,Y,'r',X',Y','r ')
%Result is as below Step 2: Plot dimensions of the bounded area over the meshgrid map
clear all
clc
x=72.68:0.005:72.97;
y=34:0.005:34.7;
n = length(x ) ;
m = length(y ) ;
[X,Y] = meshgrid(x,y ) ;
plot(X,Y,'r',X',Y','r ')
hold on
x1=data(:,1);
y1=data(:,2);
z1=data(:,3)*0;
plot(x1, y1, 'blue')
%Result as below What I need at the first stage?
I want to delete all the grid outside the bounded area and only keep the griids inside the bounded area.
expected results as below (@KSSV help in plotting this, but not very sure about the approach) What else I need?
I require to know the central value (lat, long values, assume z here zero) of each grid (with the bounded area) so i can use thouse central values to plot other parameteres with the same grids.
Thank you!
(Data is attached).
##### 2 件のコメント表示 1 件の古いコメント非表示 1 件の古いコメント
Andi 2023 年 5 月 17 日

サインインしてコメントする。

### 採用された回答

KSSV 2023 年 5 月 17 日

clc; clear ;
x=72.68:0.005:72.97;
y=34:0.005:34.7;
n = length(x ) ;
m = length(y ) ;
[X,Y] = meshgrid(x,y ) ;
x=data(:,1);
y=data(:,2);
z=data(:,3);
F = scatteredInterpolant(x,y,z) ;
Warning: Duplicate data points have been detected and removed - corresponding values have been averaged.
Z = F(X,Y) ;
%x = axil_long ; y = axil_lat ; z = time_axil(:,1) ;
[in,on] = inpolygon(X,Y,x,y) ;
idx = in|on ;
X(~idx) = NaN ;
Y(~idx) = NaN ;
Z(~idx) = NaN ;
figure
h = pcolor(X,Y,Z) ;
h.EdgeColor = 'none'; figure
plot(X,Y,'r',X',Y','r ')
xlabel('Longitude (E{\circ})')
ylabel('Latitude (N{\circ})')
axis([72.68 72.97 34 34.7]) ##### 8 件のコメント表示 7 件の古いコメント非表示 7 件の古いコメント
Andi 2023 年 5 月 18 日
@KSSV I attempt to fix the probelm with the gridding approch but it did not work well, so i move to another approch.
Step 1: Plooting the boundary of ir-regular shape
x=data(:,1);
y=data(:,2);
z=data(:,3);
plot(x, y, 'blue')
hold on Step 2: Plotting the z-parameteres as a color color within the bounded area
x1=dat(:,2);
y1=dat(:,3);
c1=dat(:,4);
plot(x1, y1, 'blue')
scatter(x1,y1,[],c1,'filled')
colorbar
colormap jet
hold off What I required:
1. Interpolate all the scatter points and make a surface plot (figure attached below).
2. The mesh grid is this bounded area and gets the central point of each mesh grid along with the average value of the z-parameter. Thanks

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

### Community Treasure Hunt

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

Start Hunting!