Marking the peak of a plot automatically without having to click on it

132 ビュー (過去 30 日間)
Lisa Justin
Lisa Justin 2012 年 8 月 29 日
回答済み: Sergio Yanez-Pagans 2021 年 3 月 28 日
Hi,
Is it possible to mark the peak of a plot automatically with a command without having to to mark on each plot.

採用された回答

Star Strider
Star Strider 2012 年 8 月 29 日
編集済み: Star Strider 2012 年 8 月 29 日
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));
using the text command.
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 件のコメント
Kiki
Kiki 2016 年 3 月 29 日
Hi
What if I have multiple peaks and I want the apply the label respectively? How should I write the text command?
Thank you!

サインインしてコメントする。

その他の回答 (3 件)

Wayne King
Wayne King 2012 年 8 月 29 日
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 件のコメント
Tom
Tom 2012 年 8 月 29 日
It should be; can you provide some sample data?
Ilham Hardy
Ilham Hardy 2012 年 8 月 29 日
Below link is the 'how-to' display tooltip syntactically..
Happy reading,

サインインしてコメントする。


Ilham Hardy
Ilham Hardy 2012 年 8 月 29 日
  4 件のコメント
Lisa Justin
Lisa Justin 2012 年 8 月 29 日
thanks, but what do you mean by simple TEXT command
Jan
Jan 2012 年 8 月 29 日
See "help text" and "doc text".

サインインしてコメントする。


Sergio Yanez-Pagans
Sergio Yanez-Pagans 2021 年 3 月 28 日
You could use my MATLAB File Exchange function:
Hope you find this useful!

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by