MATLAB cropping colorbar text - how to fix?

26 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 Colormaps 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!