2016-12-08 50 views
0

我已經在Matlab中使用圖例準備了一個圖表,用於識別各種痕跡。我已經適當地調整了傳說中的字體大小和軸標籤以產生像樣的情節。這些圖在屏幕上看起來很好,但是當我保存時 - 對於任何合理的格式(PDF,PNG,BMP等),圖例中的字體大小信息被故意忽略。保存數字的Matlab字體

這導致看起來可怕,因爲字體擴大回其默認大小,流掉的次要情節,重疊的情節和次要情節的傳說等

我實際上可以看到字體恢復到默認情況下,在保存爲操作過程中,然後變回正確的大小。我怎樣才能避免這個問題,迫使Matlab做出明顯正確和有意義的事情?

示例代碼來設置字體:

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); 

這是Windows下的Matlab的2016a 10

+0

我會建議使用['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

回答

0

你有沒有試過,以檢查在以下選項:

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

+0

這是已經選擇的設置。 – Novak

0

您可以將'FontUnits','points'添加到set函數。取決於你如何保存圖,你可以使用print而不是,保存爲函數。

下面是我用於打印我的數字的腳本。它是基於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