Boxplot - Arrangement of box labels

14 views (last 30 days)
Hannes
Hannes on 8 Jun 2012
Answered: Kirsten on 18 Jul 2014
I use the code below to right align the "X tick labels" of my boxplot and adjust the distance to the x axis. This works fine when the figure is created. However, after reopening (or exporting to another format) the distance to the x axis is changed to default (far away from the axis) while the right alignment is kept.
Does anyone know how to fix this issue?
boxplot(all_values, all_names, 'labelorientation', 'inline');
text_h = findobj(gca, 'Type', 'text');
for cnt = 1:length(text_h)
set(text_h(cnt),'HorizontalAlignment', 'right');
yshift=get(text_h(cnt), 'Position');
yshift(2)=-5;
set(text_h(cnt), 'Position', yshift);
end
saveas(gcf,'path/boxplot.fig');
  3 Comments
Hannes
Hannes on 8 Jun 2012
The default position from the axis is -40. If I run your code with y(2)+35 I get the labels where I would like to have them. If I close the figure on the screen and open the one that has been saved the distance is back at -40 (same problem as with my code). It does not seem to save the new label positions and it also doesn't export them.
I'm using R2010b on a Mac. Maybe the problem has to do with this...
Oleg Komarov
Oleg Komarov on 8 Jun 2012
Actually I could not notice with a +5 but I do have the same problem and see my answer too.

Sign in to comment.

Accepted Answer

Oleg Komarov
Oleg Komarov on 8 Jun 2012
Problem NOT solved, but documented. It's a BUG: http://www.mathworks.co.uk/support/bugreports/details.html?rp=228710
  2 Comments
Hannes
Hannes on 8 Jun 2012
Thanks to both of you for taking your time!
Have a good weekend
Hannes
Oleg Komarov
Oleg Komarov on 8 Jun 2012
I have not tried but you could try to paste text objects in the position of the labels and check if this keeps on happening.
Good weekend

Sign in to comment.

More Answers (2)

the cyclist
the cyclist on 8 Jun 2012
I have two suggestions.
The first is to just try using print() function rather than saveas(), and to play around with different output formats within the command. I suspect that that is not going to solve your issue, as the primitive elements inside the guts of MATLAB are probably going to be the same. (Just guessing here.)
The second suggestion is to try the very nice FEX entry "export_fig":
It is generally much better at "what you see is what you get" between the screen image and the resulting file.
  3 Comments
the cyclist
the cyclist on 8 Jun 2012
Hm. Are you able to include a highly distilled example of your code that illustrates the problem?
Hannes
Hannes on 8 Jun 2012
Oleg's example reproduces the problem very nicely but only on my system as it seems.

Sign in to comment.


Kirsten
Kirsten on 18 Jul 2014
anyone know how to fix this in the boxplot m-file? I make boxplots all the time and dealing with moving the labels so they aren't RIGHT ON TOP of the axis is making me crazy!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!