Ich speichere eine Matlab Figur als PNG. Ich mag die Druckgröße fest an die Bildschirmgröße einzustellen, so dass ich verwendet:Matlab Figur als PNG
set(gca(),'LooseInset',get(gca(),'TightInset')); %set print size tight to the screen size
aber mein Bild ist nicht fest an die Bildschirmgröße gespeichert wird, noch in der Mitte des Bildschirms ...
hier ist mein Code mit allem, was ich schon versucht:
function []=FilledCircle1(x0,y0,Radius,N,col1)
if(N<=1)
error('N must be greater than 1');
end
hold on
axis equal
% axis off
hold on
t=(0:N)*2*pi/N; %t=-pi:0.01:pi
x=Radius*cos(t)+x0;
y=Radius*sin(t)+y0;
c1=fill(x,y,col1);
set (c1, 'edgecolor','k')
set(gcf,'PaperUnits','inches','PaperSize',[0.8666,0.8666],'PaperPosition',[0 0 0.8666 0.8666])%setting size (130/150, 130/150, 150pixels per inch being the default size of img), paper position is imporrtant as otherwise i will have extra border
% % set(gcf,'Position', [0 0 4.4466 3.5733], 'units','inches')
% % iptsetpref('ImshowBorder','tight');
set(gca(),'LooseInset',get(gca(),'TightInset')); %set print size tight to the screen size
% set(gcf, 'Position', get(0,'screensize'));
set(gcf,'color','none'); %set backgroound color to transparent
fig = gcf;
fig.InvertHardcopy = 'off'; %saves the fig with the set background color
ich meine png-Datei möchte wie folgt aussehen:
es jedoch wie folgt aussehen:
Kann mir jemand helfen zu verstehen, was mache ich falsch? Vielen Dank!
Es ist überhaupt nicht klar, wie sich das erste Bild auf das zweite bezieht. Ungeachtet dessen gelten die Einfügungen für die * Achsen *, nicht das, was darin eingezeichnet ist. Wenn das geplottete Objekt zentriert und gezoomt werden soll, müssen die Achsengrenzwerte vor dem Speichern geändert werden. – excaza
Das erste Bild zeigt nur, dass der gefüllte Kreis, den ich geplottet habe, zentriert sein soll und den gesamten Bildschirm füllen soll. @excaza – Mraquel