1

Matlabのボックスプロットでボックスを埋める方法はありますか?

関数のcolorgroupオプション( http://www.mathworks.com/help/stats/boxplot.html )を使用して、ボックスの境界の色を変更できましたが、変更または塗りつぶしのオプションが見つかりませんでした。ボックス自体の内側のスペースの色。boxplot

編集: それで、リンク ( http://www.mathworks.com/matlabcentral/newsreader/view_thread/300245 ) のコードを調べて、コメントで user1929959 を指摘しました。ただし、私は Matlab を初めて使用するので、コードの機能について簡単に説明していただければ幸いです。そのリンクのコードは次のとおりです。

load carsmall
 boxplot(MPG,Origin)
 h = findobj(gca,'Tag','Box');
 for j=1:length(h)
    patch(get(h(j),'XData'),get(h(j),'YData'),'y','FaceAlpha',.5);
 end

私は他の解決策にもオープンです。ありがとう。

4

1 に答える 1

2

FINDOBJ関数を使用して、現在の軸で「ボックス」に等しいタグを持つグラフィック オブジェクトを検索します (gca = 現在の軸ハンドルを取得)。

boxplot のすべてのオブジェクトのタグは、MW の公式ドキュメント (例の直前) で見つけることができます: http://www.mathworks.com/help/stats/boxplot.html

FINDOBJ は、見つかったすべてのオブジェクトへのハンドルを double 配列である変数 h に返します。オブジェクトのプロパティを変更するには、ハンドルを使用します。get(h(1))またはを使用して、特定のハンドルのすべてのプロパティを表示できますinspect(h(1))

たとえば、線幅を設定できます。

set(h,'LineWidth',3)

FaceColorbox は line オブジェクトであるため、 patch のようにor (透明度) プロパティを持たないFaceAlphaため、直接色を付けることはできません。その上に、黄色 (「y」パラメーターで設定) と 0.5 の透明度でパッチを描画する必要があります。XDataおよびプロパティを取得YDataして、パッチ座標を取得します。すべてのパッチ プロパティについては、こちらを参照してください。

繰り返しますが、関数が何をするかわからない場合は、常にhelp function_nameまたはを使用して matlab ドキュメントを確認してくださいdoc function_name

于 2013-02-28T03:34:14.283 に答える