Plot data (3d) only inside polygon

I am trying to plot data (45*56*6) only inside polygon and i tried these steps
imported shapefile and run query to sperate data point inside and outside polygon as
for i=1:6;
isin = inpolygon(X,Y,S.X,S.Y);
test(:,:,i(~isin)) = NaN;
end;
and plot
for i =1:6
subplot(3,2,i);
imagesc(D_masked(:,:,i));
set(a,'AlphaData',~isnan(a))
end
but it did not work for me as
imagesc(xyz,'AlphaData',~isnan(xyz))
xyz here is equal to 45*56 2d data.
Any kind of help is appreciatable.

2 Comments

It can be done...what problem you are facing? Don't use imagesc. Use pcolor.
Shakir Hussain
Shakir Hussain on 26 Mar 2019
Edited: Shakir Hussain on 26 Mar 2019
In first section crossponding values of each slice of 3d data with logical 2d data has to replace with NaN by keeping rest of all values as it is (that are 0-100) which I could not figure out. Secondly I would like to use imagesc instead of pcolor.

Sign in to comment.

Answers (0)

Products

Release

R2014b

Asked:

on 26 Mar 2019

Edited:

on 26 Mar 2019

Community Treasure Hunt

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

Start Hunting!