How to correspond line colors with histogram
1 次查看(过去 30 天)
显示 更早的评论
I made these overlapping histograms using a for loop. I'm trying to get the lines in the same color as the histograms. Does anybody know how to do this?
[~,ErrorLength]= size(out);
for i =1:ErrorLength
hold on
m = histogram(out(:,i),'normalization','pdf');
f = fitdist(out(:,i),'kernel');
hoi = pdf(f,x);
l = line(x,hoi,'linestyle','-','linewidth',2);
hold off
end
xlabel('Orientation');
ylabel('Error rate');
legend('Target 1','','Target 2','','Target 3','','Target 4','')
0 个评论
采纳的回答
Star Strider
2020-10-15
编辑:Star Strider
2020-10-15
The FaceColor property of the bars is 'auto', so if you want the colors to be the same, it is necessary to define them:
out = randn(500,3).*[10 20 30]; % Create Data To Test Code
x = linspace(-80, 80); % Create Data To Test Code
cm = jet(size(out,2)); % Define ‘colormap’
[~,ErrorLength]= size(out);
for i =1:ErrorLength
hold on
m = histogram(out(:,i),'normalization','pdf')
m.FaceColor = cm(i,:); % Define ‘FaceColor’
f = fitdist(out(:,i),'kernel');
hoi = pdf(f,x);
l = line(x,hoi,'linestyle','-','linewidth',2, 'Color',cm(i,:)); % Define Line ‘Color’
hold off
end
xlabel('Orientation');
ylabel('Error rate');
legend('Target 1','','Target 2','','Target 3','','Target 4','')
You will need to fix the problem with the legend.
EDIT — (15 Oct 2020 at 12:17)
Added ‘out’ and ‘x’ definitions.
8 个评论
Star Strider
2020-10-15
As always, my pleasure!
It worked for me with both. I used {} (cell array) to be safe.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!