MATLAB Answers

Is it possible to get the exact 2D image of the CData matrix of surf plot?

52 views (last 30 days)
Rafi Ahmed
Rafi Ahmed on 9 Mar 2019
Commented: Rafi Ahmed on 9 Mar 2019
I have a matlab 3D plot(attached figure). I want to extract the 2D image from the surf plot of matlab like this:
fd45_az0.JPG
is it possible?

  0 Comments

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 9 Mar 2019
The X data in the graphics object is irregularly spaced, forming a sine wave. Therefore we cannot simply take the ZData or CData properties and build a matrix from there.
You will need to getframe() the axes and write that to file.
Alternately if you use export_fig from the File Exchange then it can write more directly to file.

  1 Comment

Rafi Ahmed
Rafi Ahmed on 9 Mar 2019
Thanks for your reply. The size of the image is 360 by 360. Export_fig can get the file but it changes the size of the image.
can i use getframe like this:
drawnow
ax = gca;
ax.Units = 'pixels';
ti = ax.TightInset;
F = getframe(ax,[-ti(1), -ti(2), 360 ,360]);
imshow(F.cdata)
but it is not working. Please help me.

Sign in to comment.

Sign in to answer this question.