% lplot(VEC, XRANGE) % % Plot VEC, a vector, in "lollipop" format. % XRANGE (optional, default = [1,length(VEC)]), should be a 2-vector % specifying the X positions (for labeling purposes) of the first and % last sample of VEC. % Mark Liberman, Linguistics Dept, UPenn, 1994. function lplot(x,xrange) if (exist('xrange') ~= 1) xrange = [1,length(x)]; end msize = size(x); if ( msize(2) == 1) x = x'; elseif (msize(1) ~= 1) error('First arg must be a vector'); end if (~isreal(x)) fprintf(1,'Warning: Imaginary part of signal ignored\n'); x = abs(x); end N = length(x); index = xrange(1) + (xrange(2)-xrange(1))*[0:(N-1)]/(N-1); xinc = index(2)-index(1); xx = [zeros(1,N);x;zeros(1,N)]; indexis = [index;index;index]; xdiscrete = [0 xx(:)' 0]; idiscrete = [index(1)-xinc indexis(:)' index(N)+xinc]; [mn,mx] = range2(xdiscrete); ypad = (mx-mn)/12; % MAGIC NUMBER: graph padding plot(idiscrete, xdiscrete, index, x, 'o'); axis([index(1)-xinc, index(N)+xinc, mn-ypad, mx+ypad]); return