查看: 283|回复: 1|关注: 0
打印 上一主题 下一主题

快乐扑克了游戏说明: [未答复] 使用set(gca,'position')时hold on似乎不起作用了

[复制链接]

新手

5 麦片

财富积分


快乐扑克3如何跟对子 www.vqxik.tw 050


1

主题

2

帖子

0

最佳答案
跳转到指定楼层
1#
发表于 2019-10-11 21:57:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我鸱夷子皮 于 2019-10-11 22:03 编辑


各位前辈,你们好:
      我写这个代码的目标是:
     我得到了一个关系式,是关于xy的,我现在要用随机数,画出1000个点,为此套了一个循环,每循环一次画出一个点,并且保留前一个点,最终得到一张有1000个点的散点图。与此同时,我把每一个循环时的图作为一帧,最终输出一个动态的情况。
      我遇到的问题是:
     我等到了我想要的,得到的视频和我的预期相符,但是我希望修改一下gca的大小,以便让图看起来美观,我找到了set(‘position’)来设置图像的大小。
     于是问题就出现了,每一次的点都会覆盖上一个点,我最终只能得到一张有1个点的图像,得到的视频也是每一帧只有一个点。
      我想问的是:
     到底哪里出了问题?我的代码去掉set(‘position’)那一段,能得到符合我目标的结果。但是加上之后就会出现错误。
     我怀疑是位置每次循环都会重新设置一次,导致hold on 所保留的点被清除了,但是我对这些知道的很少,希望前辈们能够给予帮助。
  下面是我的代码的片段,取了一个sin函数代替,这部分代码就是核心部分,可以直接运行。(要把set(‘position’)那一段注释掉)
谢谢!
i=1;
aviShiPin=VideoWriter('C:\0002.avi');
open(aviShiPin);
while i<=1000
      x=5*rand-5;
      y=sin(x);
      %大图的设置,准备在上面画两个图像
      figure(1)
      set(gcf,'position',[200 80 1000 900])
      %这是第一个图像
      gca1=subplot(2,1,1);
      plot(gca1,x,y,'.r','markerSize',8);
      %======请注意下面这一行,问题就在这========
      set(gca1,'position',[0.1 0.55 0.6 0.4]);
      %=================================
      hold(gca1,'on');
      F=getframe(gcf);
      writeVideo(aviShiPin,F)
      i=i+1                     
      pause(0.00000001)
end


复制代码





新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
2#
 楼主| 发表于 2019-10-11 22:04:18 | 只看该作者
这个发表界面实在是需要维护一下了,平白浪费人很多时间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

快速回复 快乐扑克3如何跟对子 返回列表