matlab动态绘图 规则,matlab 动态绘图设置单个坐标轴范围不变

1 matlab设置坐标轴范围

1.xlim()和ylim()函数设置

2.axis()函数同时设置两个坐标轴范围

3.axis manual 等参数控制坐标轴

2 遇到问题

由于我需要在一个循环里面绘图,不停刷新数据形成动画,上述函数都不能达到效果,最后采用

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值