MATLAB: Plot a line over spectrogram

Signal Processing Toolboxspectrogram

I use the following code to plot a line over my spectrogram so that I show the onset time. But it sometimes plots the line over the spectrogram and sometimes the spectrogram over the line (the line is there from y=0 to y=10 then not there from y=10 to y=20 and then again it is there from y=20 to y=30). Any suggestions?
figure surf(x,y,z,'edgecolor','none'); axis tight; view(0,90); colorbar set(gca,'fontsize',14) hold on h=line([0 0],[y(1) y(end)],'color','m','Linestyle','-','LineWidth',2); uistack(h,'top')
I also tried:
h=get(gca,'Children'); set(gca,'Children',h(end:-1:1))
or
set(gca,'Children',h(1:end))
but no luck. All tries give exactly the same result.

Best Answer

  • I've done this before, I believe the trick is to set the Z-value for your line so that is always above the spectrogram.