我有以下代码:
% Histograms
histfit(S,40,'normal')
hold on;
hist(R,40,'normal')
g=findobj(gca,'Type','patch');
set(g(1),'FaceColor',[0 .5 .5],'EdgeColor','w')
set(g(2),'FaceColor',[0 1 1],'EdgeColor','w')
set(gca,'Fontsize',18,'Fontname','euclid')
xlabel('R & S')
hold off;
我只能为拟合线的第一个直方图添加一个。 我想更改第一个直方图的拟合线颜色,并添加和更改第二个直方图的拟合线颜色。
此致
答案 0 :(得分:1)
你错过了对第二个直方图的histfit调用,所以该行根本没有出现。这是一个工作正常的示例代码。请注意我如何使用findobj获取实际行并更改其颜色:
rng default; % For reproducibility
%// Generate dummy data
S = normrnd(10,1,100,1);
R = 3*normrnd(10,1,100,1);
% Histograms
histfit(S,40,'normal')
hold on;
histfit(R,40,'normal')
%// Get the lines here
hLines = findobj('Type','Line')
set(hLines(1),'Color','k')
set(hLines(2),'Color','b')
g=findobj(gca,'Type','patch');
set(g(1),'FaceColor',[0 .5 .5],'EdgeColor','w')
set(g(2),'FaceColor',[0 1 1],'EdgeColor','w')
set(gca,'Fontsize',18,'Fontname','euclid')
xlabel('R & S')
hold off;
给出这个: