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
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值