MATLAB cropping colorbar text - how to fix?

20 views (last 30 days)
Kobye
Kobye on 31 Dec 2013
Edited: Image Analyst on 1 Jan 2014
The problem looks as in the attached image. The exponent in the colorbar scale indicator (i.e. 10^9 symbol next to the colorbar) is being cropped out both in the MATLAB figure window (although this is fixable by stretching the window) but more crucially when I print my image to a file.
What should I do to resolve this issue, and does the below code give others the same issue? (I've looked in the archive and not found a similar problem)
figure(1)
pcolor(peaks.*1e9)
shading interp
colorbar('location','EastOutside')
set(gcf,'PaperUnits','inches');
set(gcf,'PaperSize', [22.4 4]);
set(gcf,'PaperPosition',[0.2 0.2 21.4 3]);
set(gcf,'PaperPositionMode','Manual');
set(gca,'FontSize',16);
set(gca,'FontWeight','Bold');
axis off
delete('fig1.pdf');
print(gcf,'-dpdf','-r150','fig1.pdf');

Answers (2)

Image Analyst
Image Analyst on 31 Dec 2013
Edited: Image Analyst on 1 Jan 2014
Try making the font size just a little bit smaller. Or else try set(gca, 'InnerPosition', newSize) to see if you can make it a bit bigger container.
  2 Comments
Sean de Wolski
Sean de Wolski on 31 Dec 2013
That's what it looks like to me, the container is over constrained. Try increasing the figure's position width&height to match the PaperPosition's.
Kobye
Kobye on 1 Jan 2014
Thanks for the suggestions, however unfortunately neither solution worked for me. It's a bit of a strange one.

Sign in to comment.


Walter Roberson
Walter Roberson on 1 Jan 2014
You can eliminate the multiplier if you set YTickLabel yourself.
cbaxis = ... whatever to find the axes of the color bar
set(cbaxis, 'YTickLabel', cellstr( str2num( reshape( get(cbaxis, 'YTick'), [], 1), '%.1e' ) ) )

Categories

Find more on Formatting and Annotation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!