edit a surf plot

5 次查看(过去 30 天)
Hi, everyone. I have a surf plot which has 108*192 pixels (a f=tiff image converted to surf). I am only interested in the middle of the plot and I want to only show an area of say, x=1:10, 90:108 and y=1:10, 100:192. In other words, I want to remove everything outside of a square/circle (defined either by pixels or by interactively choosing it) in the middle.
Many thanks
  4 个评论
darova
darova 2020-3-21
Can you show the code? And how are you trying to do this?
Fakhraddin Akbari Dourbash
Sure, the last part of the code:
x = 1:108;
y = 1:192;
[X,Y]=ndgrid(x,y);
surf(X,Y,T,'EdgeAlpha',.1);
M=jet
colormap(M)
colorbar
T is a fucntion after processing all the pixels and gives me the height in the surf plot.

请先登录,再进行评论。

采纳的回答

darova
darova 2020-3-21
Try this
x = 1:108;
y = 1:192;
[X,Y]=ndgrid(x,y);
ii = 90:108;
jj = 100:192;
surf(X,Y,T,'EdgeAlpha',.1);
alpha(0.5)
hold on
surf(X(ii,jj),Y(ii,jj),T(ii,jj))
hold off
M=jet
colormap(M)
colorbar
  1 个评论
Fakhraddin Akbari Dourbash
Gives me exactly what I wanted. Thanks. Appreciate it.

请先登录,再进行评论。

更多回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by