2016-07-15 84 views
1

我想要绘制此框情节是这样的: BoxplotMatlab的箱线图性质

我试过这段代码:

boxplot(randn(10,98)','notch','on') 
set(0,'DefaultAxesFontName', 'Cambria Math') 
ylabel('Normalized Parameter'); 
set(gca,'FontSize',14,'fontWeight','bold'); 
set(gca,'TickLabelInterpreter','tex'); 
set(gca,'XTickLabel',{'a_{0}','a_{1}','a_{2}','a_{3}','a_{4}','b_{1}','b_{2}','b_{3}','b_{4}','w'}) 
color = 'b'; 
h = findobj(gca,'Tag','Box'); 
for j=1:length(h) 
    patch(get(h(j),'XData'),get(h(j),'YData'),color,'FaceAlpha',1); 
end 
lines = findobj(gcf, 'type', 'line', 'Tag', 'Median'); 
set(lines,'linewidth',1, 'Color', 'r'); 

我怎样才能改变边缘和中线的颜色吗?

+0

线'设置(线, '线宽',1, '颜色', 'R');'改变中线的参数。它有什么问题? –

+0

当我将'FaceAlpha'更改为1时,它不起作用。 –

回答

0

这里是一个固定的代码:

g = {'a_{0}','a_{1}','a_{2}','a_{3}','a_{4}','b_{1}','b_{2}','b_{3}','b_{4}','w'}; 
bx = boxplot(randn(10,98).',g,'notch','on') 
ax = gca; 
set(0,'DefaultAxesFontName', 'Cambria Math') 
ylabel('Normalized Parameter'); 
set(ax,{'FontSize','FontWeight','TickLabelInterpreter'},{14,'bold','tex'}); 
h = get(bx(5,:),{'XData','YData'}); 
for k=1:size(h,1) 
    patch(h{k,1},h{k,2},[0.4 0.8 0.85]); 
end 
ax.Children = ax.Children([end 1:end-1]); 

主要错误是你把上面的箱子补丁,所以最后一行固定这一点。

filled boxplots

+0

@HH如果此答案对您有所帮助,请遵循[网站指南](https://stackoverflow.com/help/someone-answers)并考虑upvote /接受它。 – EBH