Automatically remove white space from figure

How do I remove the white space from the figures ? I don't want to have to save the image then manually crop it.
Instead of Matlab's dumb figure it would be something like
smart_figure('NoWhiteSpace');
plot(..);
or
figure;
plot(..);
smart_clean('NoWhiteSpace');
Is there such a function ?

Réponses (5)

Image Analyst
Image Analyst le 3 Déc 2020

6 votes

Try the new exportgraphics() function.

5 commentaires

Ajay Kumar
Ajay Kumar le 14 Avr 2021
exportgraphics does not support to save all file types, for example, if I want to save a vector graphic (.svg) format, then what could be alternate solutions?
Image Analyst
Image Analyst le 14 Avr 2021
Modifié(e) : Image Analyst le 14 Avr 2021
I don't know. Call tech support and ask them.
It worked for me. Thanks!
Life-saver! Thanks!
exportgraphics(gca, 'output.eps', 'ContentType', 'vector');

Connectez-vous pour commenter.

Surender Raj
Surender Raj le 3 Déc 2020

3 votes

This problem can be addressed manually in Export setup. Once figures are done File--> Export setup --> Size --> Check expand axes to fill figures.

2 commentaires

Tong Zhao
Tong Zhao le 29 Juil 2022
Thank you, it worked, but I have an additional question: when the axes fills the figure, it breaks the aspect ratio of the content. How can I make sure that the aspect ratio stays the same when filling?
What is in your axes? Line plots? Images? If it's images, use
axis('on', 'image');
to make sure the aspect ratio is correct.

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 16 Juil 2017

0 votes

Attach images showing what you have and what you want.
You can change the amount of gray padding about your axes by setting the Position property of the axes.
Julia
Julia le 11 Juin 2021
I find the following really useful:
First, assemble your figure as you normally would. Then, try this:
I0 = getframe;
imwrite(I0.cdata, fullfile(path,'image.png'))
I have the impression that it needs some time for saving, so if used in code where stuff happens after this line it can sometimes give weird results. If you have the figure ready and then execute the code from the command line, it normally works beautifully.

Catégories

En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange

Tags

Question posée :

le 16 Juil 2017

Community Treasure Hunt

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

Start Hunting!

Translated by