分享

GUI 动态画图总是弹出新figure

 good315 2012-10-27
1. 你用一個figure指令建立一個圖形視窗(figure window)。
2. 用gca取得這個圖形視窗的axes物件。
3. 把這個axes物件的NextPlot屬性設定成replacechildren。
4. 用plot指令在這個axes物件內畫圖(隨便畫,空的資料也行),但最後設定好axes的Xlim和Ylim,這樣更新圖面時資料才不會動來動去。
上面4個步驟可以在你GUI的OpeningFcn裡面設定好。

5. 每2秒鐘取得資料,在Timer的執行程式中用set指令改變那個plot物件的Xdata和Ydata。
有個很重要的部分:你宣告timer的執行副程式一定要在前面的plot物件完成之後,不然timer執行副程式看到的handles會是你宣告時候的內容,不會是timer副程式開始跑之後的handles。這是用timer要特別小心的地方。要記得你用timer指令設定TimerFcn時給的handles,就是那個指令宣告時的內容,以後程式跑起來更新的handles內容都不會傳進TimerFcn的副程式裡面。

我用這方式,結合timer,在figure window裡面每秒鐘更新一次一堆數據點的動態。
祝好運

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多