ヒストグラムと箱ひげ図を同じ図に詰め込む

ヒストグラム以外にも同図に情報を表示したい時に使う.
しかし,boxplotは別のコマンドと共存させようとすると手間がかかったためメモ.
はじめに,サンプル用のデータを作成する.

% サンプルデータの作成
rng default
A = randn(500,1);

histogramでヒストグラムを作成すると,以下のようになる.

% ヒストグラム
histogram(A,-5.0:0.5:5.0,'Normalization','Probability');
histogram_org.png

さらに,図中の見やすい位置に箱ひげ図を加える.
histogramで正規化した図では,boxplotの箱が大きく表示されるため,Widthsで調整する必要がある.
また,PositionsとLabelsで箱ひげ図の表示するy座標位置を決める.この図では程良い位置のy=0.25を指定した.

% % 箱ひげ図
hold on
boxplot(A, ...
          'Orientation','Horizontal', ...
          'Widths',0.025, ...
          'Positions',0.25,'Labels',0.25);
hold off

ここまでだと,boxplotに影響されて目盛り位置や表示範囲が適切でないため,修正するためのデータを作成し,手動で目盛りを指定する.

% 体裁の修正
xlim([-5. 5.])
ylim([.0  .3])
% 目盛り位置の指定
xticks = -5.:1.:5.;
yticks = 0.00:.05:0.30;
ytlabels = num2str(yticks','%.2f');
set(gca,'XTick',xticks,'YTick',yticks,'YTickLabels',ytlabels);
grid on
histogram_boxplot.png

参考 MathWorks公式


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2018-07-11 (Wed) 05:25:50 (194d)