MATLAB Answers

John
2

How to change text size in boxplot

Asked by John
on 18 Jan 2013
Latest activity Answered by roger
on 14 Dec 2016
Hi,
Would anybody know how to change the size of the font on the x-axis labels in a boxplot. For example I want to make the label "Urban Congested" larger?
I cannot figure out how to do it in the axis property editor.
Thank you

  0 Comments

Sign in to comment.

Tags

3 Answers

Answer by Daniel Shub
on 18 Jan 2013
Edited by Daniel Shub
on 18 Jan 2013
 Accepted Answer

I can think of two ugly hacks that work ...
The first is to set the default font size of all text labels for the plot
h = figure;
set(h, 'DefaultTextFontSize', 30);
load carsmall
boxplot(MPG, Origin);
The second is to change the text label after plotting
load carsmall
h = boxplot(MPG, Origin);
set(findobj(get(h(1), 'parent'), 'type', 'text'), 'fontsize', 30);
It is not clear to me what boxplot is actually returning. It is an array of handles, when I would have expect the group. My guess is if you look through the code of boxplot you can find a cleaner way.
EDIT
If you only have the figure file
hFig = figure;
load carsmall
boxplot(MPG, Origin);
saveas(hFig, 'temp_figure');
close(hFig);
You can open the figure and get the handle to the figure
hFig = open('temp_figure.fig');
The goal is then to find the boxplot object. Unfortunately, the boxplot object this is just an hggroup object and there might be lots of hggroup objects which are not boxplot objects. I don't know how to figure out if an hggroup object is actually a boxplot object. You can however, click around and select objects until gco works:
set(findobj(get(gco, 'Children'), 'type', 'text'), 'fontsize', 30);

  1 Comment

John
on 18 Jan 2013
Hi,
I only have the Figure file and not the actual data. Can you set the Figure equal to h? How would you do that?
Thanks

Sign in to comment.


Answer by Rodrigo Diaz on 7 Sep 2016

Thanks Daniel Shub. The second way really works very well.

  0 Comments

Sign in to comment.


Answer by roger
on 14 Dec 2016

boxplot([LEAD,own],'Notch','on','Labels',{'LEAD','OWN'});
set(gca,'XTick',1:2)%2 because only exists 2 boxplot
set(gca,'XTickLabel',{'LEAD','OWN'},'FontSize',20)

  0 Comments

Sign in to comment.