3

Matlab R2010b とboxplot関数の使用に問題があります。

以前のバージョンの Matlab では、使用するパーセンタイル値を変更できるように、boxplot.m ファイルにいくつかの変更を加えました。デフォルトでは、箱ひげ図は、ひげを定義するために 1 番目と 3 番目の四分位数 (25 パーセンタイルと 75 パーセンタイル) を考慮して作成されます。私の関心は、10 パーセンタイルと 90 パーセンタイルを使用することです。

インターネットで見つけたすべての解決策を試しました。

私の質問はboxplot、Matlab (R2010b 以降) の関数で使用されるパーセンタイルの既定値 (25 番目と 75 番目) を変更する方法を見つけた人はいますか?

大変感謝します!

4

1 に答える 1

1

boxplotグラフィカル オブジェクトのプロパティを変更することによって (関数自体を変更するのではなく)、データ/変位値の表示方法を変更できます。

青いボックスに使用される分位数を変更するコードを次に示します (最初、青いボックスは .25 および .75 の分位数に対応し、.1 および .9 に変更されます)。それに合わせて上下のヒゲの付け根部分も変化します。ひげの先端は変更されていないことに注意してください (四分位範囲の 1.5 に相当します)。ヒゲの根元を変えたように、ヒゲの先端も変えることができます。

%%% load some data  
load carsmall  
MPG  = MPG(ismember(Origin,'USA','rows'));  
Origin = Origin(ismember(Origin,'USA','rows'),:)  
Origin(isnan(MPG),:) = [];  
MPG   (isnan(MPG),:) = [];  

%%% quantile calculation  
q = quantile(MPG,[0.1 0.25 0.75 0.9]);  
q10 = q(1);  
q25 = q(2);  
q75 = q(3);  
q90 = q(4);  

%%% boxplot the data  
figure('Color','w');  

subplot(1,2,1);  
boxplot(MPG,Origin);   
title('original boxplot with quartile', 'FontSize', 14, 'FontWeight', 'b', 'Color', 'r');  
set(gca, 'FontSize', 14);  

subplot(1,2,2);  
h = boxplot(MPG,Origin) %define the handles of boxplot  
title('modified boxplot with [.1 .9] quantiles', 'FontSize', 14, 'FontWeight', 'b', 'Color', 'r');  
set(gca, 'FontSize', 14);  

%%% modify the figure properties (set the YData property)  
%h(5,1) correspond the blue box  
%h(1,1) correspond the upper whisker  
%h(2,1) correspond the lower whisker  
set(h(5,1), 'YData', [q10 q90 q90 q10 q10]);% blue box  

upWhisker = get(h(1,1), 'YData');  
set(h(1,1), 'YData', [q90 upWhisker(2)])  

dwWhisker = get(h(2,1), 'YData');  
set(h(2,1), 'YData', [ dwWhisker(1) q10])  


%%% all of the boxplot properties are here  
for ii = 1:7  
   ii  
   get(h(ii,1))  
end  

そして、これが結果です。

ここに画像の説明を入力

于 2013-07-24T13:17:13.117 に答える