matlab xdata ydata,在MATLAB中:XData和YData如何用更改的行數更新?

我正在尋找一種方法來添加動態遷移數據的動態更新圖(地點與時間)分隔連續幾天的垂直分界線。部分挑戰在於,這些分隔線的數量隨着繪圖域擴展以顯示更多時間數據而發生變化:例如,隨着繪圖中天數從3增加到5,分隔線的數量增加了2個。在MATLAB中:XData和YData如何用更改的行數更新?

的最小代碼示例中,寫在MATLAB,如下所示:在已經註釋掉兩條線

xcols = [1; 1];

ycols = [0; 1];

figure(4)

clf

h.divs = plot(xcols,ycols,':k');

xlabel('time')

ylabel('location')

for ii=2:6

xcols(:,end+1) = [ii; ii];

ycols(:,end+1) = [0; 1];

% set(h.divs, 'XData', xcols, 'YData', ycols);

% set(h.divs, {'XData'}, num2cell(xcols',2), {'YData'}, num2cell(ycols',2));

drawnow

pause(1)

end

問題中心。如果我在第一個評論中嘗試用每個新的分隔符集(用2 x DividerCount矩陣xcols和ycols給出)來更新XData和YData,那麼我會收到一個錯誤消息,這些輸入「必須是一個數值類型的向量」。如果我在第二行中使用單元格數組來解決這個問題(根據this Stack Overflow post和this MATLAB Newsgroup post),那麼代碼將返回一個錯誤,即「單元格數組句柄維度必須與句柄向量長度匹配」,只要分隔符的數目變化。

哈克解決方案當然是可能的。例如,可以將分隔線繪製爲水平和垂直線段的單線,其中水平線段放置在繪圖的y軸限制的上方和下方。或者可以使用固定數量的分隔器,其中一些分隔器繪製在圖的x軸限制之外。問題在於是否存在一種非hacky方法 - 可以在循環的每次傳遞中在同一圖中繪製相同樣式的潛在變化數量的線條。

+0

歡迎來到StackOverflow。既然你的問題已經被頂線加上一點初始化代碼('xcols','ycols',實際情節,可能是'xcols'的更新)所覆蓋,我會縮短代碼位,以確保只有這些基本的部分。另見[mcve]。 –

+0

感謝您的這個優秀的提示。 (我只在原始問題中包含更多代碼,因爲我不確定哪些細節可能與常規修復相關。)我簡化了我的描述和代碼,以便更好地引導您的答案。 –

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值