MATLAB: Axis equal & off not work for trisurf function

axis equal off not work for trisurf function

Hi:
I want to plot figure by 'trisurf', if I use order below:
f=figure;
axis equal
axis off
trisurf(xxxx)
the figure is not 'axis equal' and 'axis off', so I have to use command ordered as:
f=figure;
trisurf(xxxx)
axis equal
axis off
however, just interested in why the 1st option does not work… is this an inherent feature inside Matlab?
Thanks!
Yu

Best Answer

You have not set hold on so the axes NextPlot property is set to replace. When trisurf() is called, it checks the NextPlot property and if it is set to replace then it resets the axes. This is the exact same reason that if you call plot() twice without hold on being in effect, that the second plot will replace the first.