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

조회 수: 11 (최근 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 CenterFile Exchange에서 Histograms에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by