查看: 553|回复: 4|关注: 0

[已解决] MATLAB画图中如何让text的文本值随变量而变化

[复制链接]

新手

9 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
while 1
…………
…………(省略)
    if x==1

        x_left=x_left+1
        x=randi([2,4])
        pause(0.5)
    elseif x==5
        x_right=x_right+1
        x=randi([2,4])
        pause(0.5)
    end
%在坐标轴上方输出吸收个数
text(1,0.2,num2str(x_left))
text(5,0.2,num2str(x_right))
end
想问一下如何使得text里的文本值(x_left,x_right)能够随着循环的进行而改变呢?
上述代码运行的图中,每次循环的文本值会重叠,无法清除

请问有什么办法吗?

1.jpg
回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

600 麦片

财富积分


5001500


1

主题

374

帖子

114

最佳答案
  • 关注者: 8
发表于 2020-7-21 08:50:38 | 显示全部楼层 |此回复为最佳答案
  1. while 1
  2. text_1 =text(0.5,0.2,'');
  3. text_2 =text(1,0.2,'');

  4. %在坐标轴上方输出吸收个数
  5. set(text_1,'string',num2str(x_left));
  6. set(text_2,'string',num2str(x_right));
  7. end
复制代码
回复此楼 已获打赏: 12 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

714 麦片

财富积分


5001500


27

主题

367

帖子

83

最佳答案
  • 关注者: 11
发表于 2020-7-21 09:40:59 | 显示全部楼层
看看这个是不是你想要的结果
  1. clear;
  2. x_left=1;
  3. x_right=2;
  4. ax1=text(1,0.2,num2str(x_left));
  5. ax2=text(5,0.2,num2str(x_right)) ;
  6. axis([0,6,0,1])
  7. for i=1:10
  8.     x_left=randi([0,100]);
  9.     x_right=randi([0,100]);
  10.     ax1.String=num2str(x_left);
  11.     ax2.String=num2str(x_right);
  12.     pause(0.5)
  13. end
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
 楼主| 发表于 2020-7-22 15:30:21 | 显示全部楼层
回复此楼 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
 楼主| 发表于 2020-7-22 15:31:05 | 显示全部楼层
15631202458 发表于 2020-7-21 09:40
看看这个是不是你想要的结果

是的是的!!谢谢!太感谢了
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表