2016-04-26 14 views
0

私のようなエッジとノードを示すネットワークについてのデータがあります。これらのエッジが長い観測(例えば、1つの結果であるので、私はそれらのエッジが進化する方法に基づいて、複数の異なるプロットを取得したいと思いますグラフは時間の経過とともにどのようにプロットされますか?

edges = ... 
    [5 7 1; 
    5 7 2; 
    5 11 2; 
    5 7 3; 
    5 11 3; 
    5 16 3; 
    5 7 4; 
    5 11 4; 
    5 16 4; 
    5 21 4]; 

を年)。

それぞれのエッジは異なる瞬間に発生するため、6つの異なるプロットを別々に取得したいと考えています。

edges = ... 
    [5 7 1]; 

そして第二の月に、私はこれを参照してください:

edges = ... 
    [5 7 2; 
    5 11 2;]; 

と月、月によっては、複数のエッジが完了するまで追加され

と仮定、最初の月は、私はこれらのエッジを参照してください上記のデータセットが得られる。

EDIT

は、3番目の列は、瞬間の識別子であり、Iは、マトリックスを通してループをこの記事(Filter Matrix by some column value )を使用することができ、グラフ()関数で使用するfiltered_edgesを得ます。

のEND EDIT

簡単な方法は、異なるエッジのファイルを作成し、それらを一つずつ読むことであろうが、MATLABにプログラム的にこれを行う方法はありますか?

+0

あなたが使用しているデータセットの詳細を教えてください。 – EAA

+0

@EAA - 時間の経過とともにエッジがどのように進化するかについての詳細を追加しました。 – lwall

+0

私の答えがあなたのために働かない何らかの理由はありますか? –

答えて

0

詳細はmathworks documentationを参照してください。あなたのケースでは、ここに行く:

data = rand(6,2); 

figure 
% You need to somehow fix your axes, so that they don't resize 
axis tight manual 
ax = gca; 
ax.NextPlot = 'replaceChildren'; 


% Let's record this to file 
v = VideoWriter('myAnimation.avi'); 
v.FrameRate = 10; % slow down the animation 
open(v); 

loops = size(data,1); 
F(loops) = struct('cdata',[],'colormap',[]); % Struct to hold frames 

for i = 1:loops 
    plot(data(1:i,1),data(1:i,2),'*'); % plot what you want in the new frame 
    drawnow % clear and draw new frame 
    frame = getframe; 

    F(i) = frame; % if you want to animate locally you only need this 
    pause(0.1); % this just slows down locally, can be removed and does NOT influence the saved video 

    writeVideo(v,frame); % this is only if you want to save to file 
end 
close(v);