How to find the maximum of a normalized fit of a histogram

16 ビュー (過去 30 日間)
Sumara
Sumara 2019 年 10 月 30 日
回答済み: Jeff Miller 2019 年 11 月 7 日
I'd like to find, point, and label the maximum of a normalized fit curve on a histogram
The code I'm using to build the histogram/fit curve is:
Average_Insert_Time = mean(All_Data); %Find average of data for random codon to mark on histogram
Histogram = histfit(All_Data,5000,'normal');
hold on
xlim([0 (Average_Insert_Time*2)]);%places average at center of graph
line([Average_Insert_Time, Average_Insert_Time], ylim, 'LineWidth', 2, 'Color', 'g'); %add average vertical
hold off
It produces a figure that looks like this:
I want to place a marker on the maximum value of this normalized distribution, which then denotes the Y-value

回答 (2 件)

Dheeraj Singh
Dheeraj Singh 2019 年 11 月 6 日
You can use histcountsto find the frequency of each bin.
N=histcounts(All_Data,200);
Then use max to find the max value and the bin index using max:
[val,idx]=max(N);
Then simply use plot to plot the marker:
plot(idx,val,'r*') ;
  1 件のコメント
Sumara
Sumara 2019 年 11 月 6 日
This would give me the max of the histogram instead of the max of the normalization curve, no?

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


Jeff Miller
Jeff Miller 2019 年 11 月 7 日
Try this:
dist = Histogram(2)
maxnorm = max(dist.YData);
line([min(dist.XData) max(dist.XData)], [maxnorm maxnorm], 'LineWidth', 2, 'Color', 'g');

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by