I want to plot pendulum (which changes position) using plot3 function. Unfortunately, when my dot changes position in loop and is being plotted again, the scale of
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).