1.xlim()和ylim()函数设置
2.axis()函数同时设置两个坐标轴范围
3.axis manual 等参数控制坐标轴
由于我需要在一个循环里面绘图,不停刷新数据形成动画,上述函数都不能达到效果,最后采用
set(gca,‘YLim’,[-0.05 1]);
达到想要效果
动态绘图代码如下
for i=1:250:length(result(:,1))
%清除图像
cla
%画一个矩形
rectangle('Position',[result(i,2)-0.7 -0.05 1.4 0.05],'FaceColor', '#A2142F');
hold on
%设置等坐标轴及控制y轴范围不变
axis equal;
set(gca,'YLim',[-0.05 1]);
%设置显示文本及其位置
text(result(i,2)-0.50,0.90,strcat('Simulation Time: ',num2str(result(i,1))),'Color','red','FontSize',12);
text(result(i,2)+0.1,0.80,strcat('Foward Velocity: ',num2str(result(i,4))),'Color','b','FontSize',12);
text(result(i,2)-0.5,0.80,strcat('Vertical Velocity: ',num2str(result(i,5))),'Color','red','FontSize',12);
%画一个矩形
rectangle('Position',[result(i,2)-0.1 result(i,3)-0.05 0.2 0.1],'FaceColor', '#EDB120');
hold on
%画一个点
plot(result(i,2),result(i,3),'Marker','.','MarkerFaceColor','red','MarkerSize',10)
hold on
%计算直线坐标
x_ft = result(i,2)-result(i,8)*sin(-result(i,7));
z_ft = result(i,3)-result(i,8)*cos(-result(i,7));
%绘制直线
line([result(i,2) x_ft],[result(i,3) z_ft],'Color','k','LineWidth',2);
hold on
%暂停
pause(0.00001)
%绘图
drawnow
grid on;
end