BoxPlotFormat

バージョン 1.0.0 (2.38 KB) 作成者: Robert Groth
Function to allow easy modification of boxplot objects.
ダウンロード: 56
更新 2024/8/16

ライセンスの表示

It is not currently easy to modify the appearance of boxplots. This function was made for personal use, but I thought it could be useful to a wider audience (e.g., https://au.mathworks.com/matlabcentral/answers/2047552-changing-colors-of-outlier-markers-median-and-whiskers-in-a-box-and-whisker-plot).
Function inputs:
  • ax The axis of the boxplot you want to modify
  • groupNumber Which groups on the plot you want to modify (integers). 'all' applies the changes to all groups on the figure
  • variable inputs in triplets (see below)
The variable inputs are formatted as:
PlotElement, ElementProperty, PropertyValue
For example, if you wanted to make the median line blue, this would be: 'Median','Color','b'
if this was for group 2 on an axis ax, the input would be
BoxPlotFormat(ax,2, 'Median','Color','b')
.
List of PlotElement + ElementProperty
  • Outliers MarkerSize, Marker, MarkerEdgeColor, MarkerFaceColor
  • Median Color, LineStyle, LineWidth
  • Box Color, LineStyle, LineWidth
  • Whiskers Color, LineStyle, LineWidth
  • WhiskerCaps Color, LineStyle, LineWidth, CapWidth (double)
I made a few changes from default boxplot figure groups.
  • Instead of entering 'Upper Whisker' & 'Lower Whisker' seperately, you can just enter 'Whiskers'.
  • Instead of entering 'Lower Adjacent Value' & 'Upper Adjacent Value' seperately, you can just enter 'WhiskerCaps'.
  • 'CapWidth' was added to modify the width of WhiskerCaps
I can not guarantee that any elements or properties not listed here will work, but I have verified that it works for the above lists, which I believe are the most useful properties.
Here is some example code:
load carsmall
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);
figure;
boxplot(MPG,Origin,'Symbol','.')
title('Miles per Gallon by Vehicle Origin (Default Box Plot Behaviour)')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')
figure;
boxplot(MPG,Origin,'Symbol','.')
title('Miles per Gallon by Vehicle Origin (Modified with BoxPlotFormat)')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')
BoxPlotFormat(gca,'all','Outliers','MarkerEdgeColor',[0.7,0.7,0.7],'Outliers','MarkerSize',16,...
'Whiskers','LineStyle','-',...
'WhiskerCaps','CapWidth',1.75,'WhiskerCaps','LineWidth',2,...
'Box','LineWidth',1.25,'Box','Color',[102 162 217]/255,...
'Median','Color',[238 79 79]/255,'Median','LineStyle','--')
BoxPlotFormat(gca,6,'WhiskerCaps','CapWidth',5)
BoxPlotFormat(gca,5,'Box','Color',[0.5,1,0.5],'Median','LineStyle',':')
BoxPlotFormat(gca,4,'Box','LineWidth',4,'Median','LineStyle','-')
BoxPlotFormat(gca,[2,3],'WhiskerCaps','LineWidth',4)

引用

Robert Groth (2026). BoxPlotFormat (https://jp.mathworks.com/matlabcentral/fileexchange/171419-boxplotformat), MATLAB Central File Exchange. 取得日: .

MATLAB リリースの互換性
作成: R2023b
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
タグ タグを追加
バージョン 公開済み リリース ノート
1.0.0