How to find probability density for two data sets plotted on same histogram?
조회 수: 2 (최근 30일)
이전 댓글 표시
I want to plot two data sets on one histogram. Also, I want to show probability density at y-axis. I am using this code,
BinEdges = [0:0.25:16.5]; histogram(data1,'Normalization','probability','BinEdges',edges1,'FaceColor','b','FaceAlpha',0.7)
hold on
histogram(data2,'Normalization','probability','BinEdges',edges1,'FaceColor','r','FaceAlpha',0.7)
The problem is that this code is normalizing both plots individually. Is there a way to plot these two datasets with same probability density scale and also in different colors. I have attached data.
댓글 수: 0
채택된 답변
Josh Meyer
2017년 9월 15일
편집: Josh Meyer
2017년 9월 15일
Two ideas come to mind...
1. You can combine the data sets into one so that the normalization takes into account the total number of elements. But the tradeoff is that the data is plotted as a single histogram.
edges1 = [0:0.25:16.5];
histogram([data1;data2],'Normalization','probability','BinEdges',edges1,'FaceColor','b','FaceAlpha',0.7)
2. You can manually compute the bin counts and normalize over both data sets, then feed the bins to histogram. This allows you to keep separate histograms with different colors, but histogram just does the plotting and you need to do the calculations.
edges1 = [0:0.25:16.5];
counts1 = ...
counts2 = ...
histogram('BinEdges',edges1,'BinCounts',counts1,'FaceColor','b','FaceAlpha',0.7)
hold on
histogram('BinEdges',edges1,'BinCounts',counts2,'FaceColor','r','FaceAlpha',0.7)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Histograms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!