Removing the grey margin of a plot

129 visualizzazioni (ultimi 30 giorni)
hamed
hamed il 27 Nov 2017
Commentato: hamed il 1 Dic 2017
Hi I'm doing an image analysis using matlab. I have a figure that I need to remove the grey margin and axes while keeping the original white plot area size constant and then save it as png. You can see the saved original png which I need to remove the axes and the margin but keeping the plot area size constant. p.s. I'm using R2017a version.

Risposta accettata

KSSV
KSSV il 27 Nov 2017
plot(peaks)
title('Plot of Peaks Function')
axis off
ax = gca;
outerpos = ax.OuterPosition;
ti = ax.TightInset;
left = outerpos(1) + ti(1);
bottom = outerpos(2) + ti(2);
ax_width = outerpos(3) - ti(1) - ti(3);
ax_height = outerpos(4) - ti(2) - ti(4);
ax.Position = [left bottom ax_width ax_height];
Now save them using saveas
  1 Commento
hamed
hamed il 1 Dic 2017
I faced another problem. This code still keeps the margin due to x and y axis even though I removed the axis. You can see that in the attached figure. How to remove that white margin too?

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 27 Nov 2017
img = imread('fig2.png');
im2 = img;
mask = repmat(all(im2 < 240,3),1,1,3);
im2(mask) = 255;

Categorie

Scopri di più su Printing and Saving in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by