Moving vertical line as time marker

조회 수: 7 (최근 30일)
Vicente Fernández Rodilla
Vicente Fernández Rodilla 2021년 3월 20일
답변: Seth Furman 2021년 3월 22일
I am working on matlab to analyse whale recordings (I have to mark every breath). For this purpose I have a tool (programmed by an expert) which shows sections of 100 seconds plotting the sound (frequency) and the depth of the animal. When you press 'f', the next section (next 100 seconds) is shown, and so on.
When you press 'p', the audio of the section is played. I want to be able to track the audio display, so I have thought I could plot a real-time moving red vertical line, meaning: it starts at t=0 and ends at t=100.
This is the coding for the 'p' function in which I think I would have to incorporate the ploting of the real-time red vertical line.
case 'p'
chk = min(size(x,2),2) ;
if ~isempty(bs),
xf = filter(bs,as,x(:,1:chk)) ;
if SOUND_DF<0,
sound(volume*xf,-afs/SOUND_DF,16) ;
else
sound(volume*decdc(xf,SOUND_DF),afs/SOUND_DF,16) ;
end
else
if SOUND_DF<0,
sound(volume*x(:,1:chk),-afs/SOUND_DF,16) ;
else
sound(volume*decdc(x(:,1:chk),SOUND_DF),afs/SOUND_DF,16) ;
end
end

답변 (1개)

Seth Furman
Seth Furman 2021년 3월 22일
Check out the xline function, which lets you plot a vertical line as well as update its position.

카테고리

Help CenterFile Exchange에서 Animation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by