我有多個軌跡(一系列2D點),我想繪製在圖像上。例如,在下面的例子中,我有10個曲目,每個曲目都有自己的3個點。我遍歷所有曲目並分別繪製它們中的每一個。請注意,我所有的曲目都有相同的點數。繪製圖像上的多個軌跡(二維點的序列)
這工作正常,但它很慢。問題是,當我有大量的軌道(當NUM_TRACKS大到1000秒)時,循環遍歷每個軌跡並分別繪製它們需要很長的時間。有沒有辦法使用單個plot
命令顯示所有曲目?
NUM_PNTS = 3;
NUM_TRACKS = 10;
pnts = 400 * rand(NUM_PNTS, 2, NUM_TRACKS);
imshow('peppers.png');
hold on;
for idx = 1:NUM_TRACKS
curr_pnts = pnts(:,:,idx);
plot(curr_pnts(:,1), curr_pnts(:,2), '.-', 'Color',[1,1,1], 'LineWidth',2);
end
hold off;
「太長」是什麼意思?在上面的例子中,即使設置了'NUM_TRACKS = 5000',繪圖在3.4秒內完成。 (Matlab 14b) –
是的。我正在構建一個交互式圖形用戶界面,所以大於1秒的任何內容都太長。我只是想知道你是否可以在一個繪圖命令中做到這一點 - 因爲線條樣式/標記樣式是相同的。 – ahmadh
也許我找到了一個解決方案來加速軌道的情節,我已經更新了答案和代碼。 –