MATLAB Answers

Contour plot size reduction

1 view (last 30 days)
Hi,
I plotting the contour with imagesc(), I am saving the final images in .fig and .bmp format. In the .bmp format some portion of the image is cropped, for e.g. colorbar legend got cropped. (please see the attachment). Do I need to reduce the image size.. ???

  0 Comments

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 16 Oct 2020
Edited: Ameer Hamza on 16 Oct 2020
The problem is that the font size of axes labels is quite large, going beyond the figure limits. An easy fix is to change the size of the figure so that all the text is visible (preferrable maximize the figure window) and then run this line.
exportgraphics(gcf, 'file.png', 'Resolution', 300);

  7 Comments

Show 4 older comments
Turbulence Analysis
Turbulence Analysis on 16 Oct 2020
Thanks a lot.. Instead of print, I used as below.. Now images are saving in the destination...
fig = gcf;
fig.WindowState = 'maximized';
pause(1);
savefig(gcf, sprintf('VMode%d', k))
saveas(gcf, sprintf('VMode%d', k), 'bmp')
Ameer Hamza
Ameer Hamza on 16 Oct 2020
Yes, If it works for you, then it is fine. However, saveas() usually saves low-resolution files. print() and export_fig() are recommended for a high-resolution images.
Turbulence Analysis
Turbulence Analysis on 16 Oct 2020
Yes, you are correct. usually print yields highre resolution images.
One more query, how to write overbar in the axis title ??

Sign in to comment.

More Answers (2)

KSSV
KSSV on 16 Oct 2020
Use this: https://in.mathworks.com/matlabcentral/fileexchange/23629-export_fig for exporting images for better quiality.

  0 Comments

Sign in to comment.


Bjorn Gustavsson
Bjorn Gustavsson on 16 Oct 2020
To get the figures "just right" you might have to manually masage them a little bit. When it comes to colorbars I often have to resort to manually shift and resize them a little bit to get the numbers and labels inside the printed image-file. I do things like this:
cbh = colorbar;
dx = -0.02;
dWidthx = 0;
set(cbh,'Position',get(cbh,'Position')+[dx 0 dWidthx 0])
to shift the colorbar to the left. Sometimes I make it a bit narrower too, by setting dWidthx to a small negative number.
HTH

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!