2016-12-08 3 views
0

Ich habe eine Geschichte in Matlab mit Legenden vorbereitet, um die verschiedenen Spuren zu identifizieren. Ich habe die Schriftgröße in den Legenden und den Achsenbeschriftungen entsprechend angepasst, um anständig aussehende Plots zu erzeugen. Die Plots sehen auf dem Bildschirm gut aus, aber wenn ich speichere - wie bei jedem vernünftigen Format (PDF, PNG, BMP, usw.) wird die Schriftgrößeninformation in den Legenden vorsätzlich ignoriert.Matlab Fonts für gespeicherte Zahlen

Die in Legenden auf Plots und Nebenhandlungen führt, die horrenden aussehen, wie die Schriften zurück auf die Standardgröße zu erweitern, die Handlungsstränge, Überlappung ablaufen usw.

ich die Schriften um wieder zurück tatsächlich sehen kann Standard, kurz, während des Speicherns als Operation, und wechseln Sie dann zurück zu ihren korrekten Größen. Wie kann ich dieses Problem vermeiden und Matlab dazu zwingen, die offensichtlich richtige und beabsichtigte Sache zu tun?

Beispielcode die Schriften zu setzen:

set(gca,'xticklabel',{'1','2', '4', '8', '16', '32', '64', '128', '256'}, 'fontsize', 4) 
leg = legend('One Text, Two Text','Red Text, Blu Text','Location','southwest') 
set(leg, 'fontsize', 2); 

Dies ist Matlab 2016a unter Windows 10.

+0

würde ich empfehlen die Verwendung von [ 'export_fig'] (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved = 0ahUKEwic-OiT0OPQAhXDiFQKHbzDCnsQFggcMAA & url = https% 3A% 2F% 2Fwww.mathworks.com% 2Fmatlabcentral% 2Ffileexchange% 2F23629-Export-fig & usg = AFQjCNEDN_TlqJVumTNSQksz6ctIDKISZQ & sig2 = stAUqbP87o4JLas0TQJi7Q) – Suever

Antwort

0

Haben Sie jemals versucht, die Option im folgenden zu überprüfen:

Preference ->MATLAB ->Figure Copy Template ->Copy Options ->Size ->Match figure screen size?

+0

, dass die Einstellung ist, die bereits ausgewählt ist. – Novak

0

Sie könnten 'FontUnits','points' zu der set Funktion hinzufügen. Und je nachdem, wie Sie das Diagramm speichern, können Sie print anstelle der speichern als Funktion von MATLAB verwenden.

Unten ist das Skript, das ich zum Drucken meiner Figuren verwende. Es basiert auf this:

filename = 'myfile';  % figure to be printed 
uiopen(myfile,1) 
axis([0 200 -0.1 0.15]) % scale the axis 
set(gca,... 
    'Units','normalized',... 
    'YTick',-0.1:0.05:0.15,... 
    'XTick',0:50:200,... 
    'Position',[.15 .2 .75 .7],... 
    'FontUnits','points',... 
    'FontWeight','normal',... 
    'FontSize',9,... 
    'FontName','Times') 
ylabel({'f(x)'},...   % {} allows to add Latex code in the label 
    'FontUnits','points',... 
    'interpreter','latex',... 
    'FontSize',14,... 
    'FontName','Times') 
xlabel({'$x$'},... 
    'FontUnits','points',... 
    'interpreter','latex',... 
    'FontWeight','normal',... 
    'FontSize',14,... 
    'FontName','Times') 
legend({'$f(x) = x$'},... 
    'FontUnits','points',... 
    'interpreter','latex',... 
    'FontSize',14,... 
    'FontName','Times',... 
    'Location','NorthEast') 
title({'This is: $f(x) = x$'},... 
    'FontUnits','points',... 
    'interpreter','latex',... 
    'FontWeight','normal',... 
    'FontSize',14,... 
    'FontName','Times') 
title('This is: $f(x) = x$') 
legend('$f(x) = x$') 

print(filename,'-depsc2');  % print to filename.eps