从 matlab 创建图形以供在 latex 中使用(问题:激活图例会改变图形大小)

从 matlab 创建图形以供在 latex 中使用(问题:激活图例会改变图形大小)

目前,我在撰写博士论文时创建了很多图形。由于我使用了很多 Matlab,因此我使用以下函数matlabfrag将图形导出到 LaTeX:

MATLAB

h = figure(1);
plot(rand(10),rand(10));
legend(random);
grid on

set(gcf,'defaulttextinterpreter','latex');

set(gca,'FontSize',font_axes); 

ht = get(gca,'Title');    
set(ht,'FontSize',font_title);

hx = get(gca,'XLabel');                         
set(hx,'FontSize',font_xy);

hy = get(gca,'YLabel');                         
set(hy,'FontSize',font_xy);

hl = findobj(gcf,'Type','axes','Tag','legend'); 
set(hl,'FontSize',font_legend);
set(hl,'Location','northeast');

xlabel(x_text,'FontSize',font_xy);
ylabel(y_text,'FontSize',font_xy);

set(gcf,'Units','inches')

set(gcf,'PaperPositionMode','auto')

set(h,'Position',[1 1 1+width 1+height]);

set(gca, 'Position', get(gca, 'OuterPosition') - ...
get(gca, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1]);

matlabfrag(test);

saveas(h,figure_name,'fig') 

乳胶

\begin{figure}[ht] 
    \begin{minipage}{\textwidth}
       \centering
       \psfragfig[frame]{test}
       \caption[short caption]{caption} 
             \label{fig:21}
    \end{minipage} \end{figure}

这给了我一个很好的结果。但现在的问题是,在激活和停用图例时,我获得了不同的图形大小:

在此处输入图片描述

确切的说,图形大小是一样的,但是图片似乎裁剪得不同。

我知道这有一半是 matlab 问题。但我认为很多使用 latex 的人都会遇到这个函数,以便为他们的论文获得漂亮的 latex 图。

希望有人能帮我解决这个奇怪的问题?当我在新页面顶部绘制大量图形时,这些图形的不同高度是一个大问题,因为左侧和右侧页面上的以下文本不会在同一行上。

提前感谢你的帮助!如果有人知道更简单的解决方案那就太好了。

相关内容