Mark the peak of a graph

27 views (last 30 days)
Brian Hoblin
Brian Hoblin on 31 Oct 2016
Commented: Brian Hoblin on 31 Oct 2016
I'm trying to place a marker at the peak power value of a graph but I'm having trouble. This is my code,
[Peak, PeakIdx] = findpeaks(Power);
plot (Resistance,Power)
hold on
grid on
ylabel ('Power (mW)')
xlabel ('Resistance (\Omega)')
title ('Power vs Resistance')
text(Resistance(PeakIdx), Peak, sprintf('Peak = %6.3f (mW)', Peak))
I get "Peak=24.900 (mW)" but I'd like there to be some sort of marker at the exact location of the peak on the graph. I've looked around and found a page that should be answering my question but I must be doing something wrong. On the image below I would like there to be a circle (or something) to more clearly indicate that peak power occurred at 1000 ohms. I can put a couple spaces in to move "Peak..." over (' Peak = %6.3f (mW)', Peak). Any suggestions? Thanks in advance.

Accepted Answer

KSSV
KSSV on 31 Oct 2016
[Peak, PeakIdx] = findpeaks(Power,Resistance);
findpeaks(power,Resistance)
hold on
grid on
ylabel ('Power (mW)')
xlabel ('Resistance (\Omega)')
title ('Power vs Resistance')
text(Resistance(PeakIdx), Peak, sprintf('Peak = %6.3f (mW)', Peak))
  2 Comments
Brian Hoblin
Brian Hoblin on 31 Oct 2016
This comes really close but my "text..." line causes "Index exceeds matrix dimensions". Any idea on how to correct that?
Brian Hoblin
Brian Hoblin on 31 Oct 2016
Ok. I messed around with both suggestions and I was able to get 2 different versions that both satisfy. Sorry I couldn't accept both because both were very helpful. One utilizes a legend and the one I needed to add a 'hold on' to. Thank you for your assistance.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!