Nachfolgend ein paar Zeilen Matlab-Code zur Demonstration, wie man Abbildungen in eine für die Verwendung in einem Protokoll oder im Rahmen einer schriftlichen Arbeit halbwegs sinnvolle Größe bringt und die Schriftart und Schriftgröße der Beschriftung ändert.
% Set fonts and paper/figure sizes set(get(gca,'xlabel'),'fontsize',12); set(get(gca,'ylabel'),'fontsize',12); set(get(gca,'xlabel'),'fontname','Arial'); set(get(gca,'ylabel'),'fontname','Arial'); set(gca,'fontsize',12); set(gca,'fontname','Arial'); set(gcf,'paperunits','centimeters'); set(gcf,'papersize',[16 10]); set(gcf,'paperpositionmode','auto'); set(gca,'Units','centimeters'); set(gca,'OuterPosition',[0 0 16 10]); set(gcf,'Units','centimeters'); oldpos = get(gcf,'Position'); set(gcf,'Position',[oldpos([1 2]) 16 10]);
Der eigentliche Export kann dann z.B. über die folgende Codezeile erfolgen:
print(gcf,'data.pdf','-dpdf');
Das Ganze ließe sich dann auch noch in eine eigene Funktion figure2file
auslagern, die – inklusive kurzer Dokumentation und ein paar anderen Spielereien – wie folgt aussehen könnte:
function figure2file(figureHandle,filename) % FIGURE2FILE Export Matlab figure to (PDF) file. % % Usage % figure2file(figureHandle,filename) % % figureHandle - graphics handle % valid Matlab figure handle % % filename - string % filename to save the figure to % Copyright (c) 2014, Till Biskup <till.biskup@physchem.uni-freiburg.de> % 2014-01-19 % User settings fontSize = 12; fontName = 'Arial'; figureUnits = 'centimeters'; figureDimensions = [16 10]; % Get axis handle of figureHandle axisHandle = findobj('Parent',figureHandle,'Type','axes'); % Set fonts set([get(axisHandle,'xlabel') get(axisHandle,'ylabel') axisHandle],... 'fontsize',fontSize,... 'fontname',fontName ... ); % Set paper/figure sizes set(axisHandle,... 'Units',figureUnits,... 'OuterPosition',[0 0 figureDimensions] ... ); oldPosition = get(figureHandle,'Position'); set(figureHandle,... 'paperunits',figureUnits,... 'papersize',figureDimensions,... 'paperpositionmode','auto',... 'Units',figureUnits,... 'Position',[oldPosition([1 2]) figureDimensions] ... ); % Export figure as PDF print(figureHandle,filename,'-dpdf');
Hinweis: Laden Sie sich dieses Listing über den Link an seinem Kopf herunter. Bei Copy&Paste kann es vorkommen, dass die Hochkommata (für die Zeichenketten in Matlab) durch „Backticks“ ersetzt werden, was Ihnen Fehler in Matlab produziert.