Plot a line over spectrogram

15 visualizaciones (últimos 30 días)
Pegah Hosseini
Pegah Hosseini el 18 de Jul. de 2013
Comentada: Pegah Hosseini el 6 de En. de 2014
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.

Respuesta aceptada

Jeremy
Jeremy el 6 de En. de 2014
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.
  1 comentario
Pegah Hosseini
Pegah Hosseini el 6 de En. de 2014
Although this question goes back to July, I am still happy to learn something new. Thanks alot for your help. It works perfectly. Example:
X=-2:10;Y=-2:10;Z=randn(13,13)*2;
surf(X,Y,Z,'edgecolor','none');
axis tight;
view(0,90);
hold on
zm=max(max(Z));
zmm=repmat(zm,1,length(Y(1):Y(end)));
h=plot3(zeros(1,length(zmm)),Y(1):Y(end),zmm,'-m','LineWidth',2);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Time-Frequency Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by