2016-07-15 105 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