Marking the peak of a plot automatically without having to click on it
    28 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Lisa Justin
      
 il 29 Ago 2012
  
    
    
    
    
    Risposto: Sergio Yanez-Pagans
      
 il 28 Mar 2021
            Hi,
Is it possible to mark the peak of a plot automatically with a command without having to to mark on each plot.
0 Commenti
Risposta accettata
  Star Strider
      
      
 il 29 Ago 2012
        
      Modificato: Star Strider
      
      
 il 29 Ago 2012
  
      If you have the Signal Processing Toobox, I suggest the findpeaks function with two outputs so that you get the value of the function at the peak as well as the index of your x-variable at which the peak occurs.
For example:
[Peak, PeakIdx] = findpeaks(Y);
and the label would then be:
text(x(PeakIdx), Peak, sprintf('Peak = %6.3f', Peak));
To illustrate:
        X = [0:0.1:pi]';
        Y = sin(X);
        [Peak, PeakIdx] = findpeaks(Y);
        figure(1)
        plot(X, Y)
        text(X(PeakIdx), Peak, sprintf('Peak = %6.3f', Peak))
1 Commento
  Kiki
 il 29 Mar 2016
				Hi
What if I have multiple peaks and I want the apply the label respectively? How should I write the text command?
Thank you!
Più risposte (3)
  Wayne King
    
      
 il 29 Ago 2012
        Do you know the value of the peak?, then yes, it's easy.
   x = randn(100,1);
   [val,I] = max(x);
   plot(x); hold on;
   plot(I,val,'r^','markerfacecolor',[1 0 0])
7 Commenti
  Ilham Hardy
      
 il 29 Ago 2012
				Below link is the 'how-to' display tooltip syntactically..
Happy reading,
  Sergio Yanez-Pagans
      
 il 28 Mar 2021
        You could use my MATLAB File Exchange function:
Hope you find this useful!
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







