MATLAB 在 latex 中绘制对齐图

MATLAB 在 latex 中绘制对齐图

我有两个图,其中 x 轴相同,我想让 y 轴位置对齐。当我在 MATLAB 中将它们打印为两个 eps 文件时,由于 y 轴的编号不同,因此它们在 latex 中看起来未对齐(请参见图)在此处输入图片描述

有什么方法可以使它们对齐吗?

提前致谢,Reza

答案1

问题几乎肯定是由于使用了width选项造成的\includegraphics。以下 MATLAB 代码用于创建两个与原始文件类似的 EPS 文件:

% 回答“MATLAB 在 latex 中绘制对齐”
% http://tex.stackexchange.com/questions/178745/

清除全部;关闭全部;

x=[70 170];
y1=[1 0];
y2=[1e-2 1e100];

图1);
符号学(x,y2);
x标签(‘k’);
ylabel('运行时间(秒)');
网格
打印-depsc2 q178745-1.eps

图(2);
h_plot=plot(x,y1);
x标签(‘k’);
ylabel('成功率');
网格
打印-depsc2 q178745-2.eps

检查生成的两个 EPS 文件,常规图的尺寸为 6.87 x 5.44 英寸,半对数图的尺寸为 6.99 x 5.48 英寸。因此,MATLAB 似乎增加了打印图形的尺寸,以适应更宽(和略高)的 y 轴标签。

如果您可以一致地调整图形查看程序窗口的大小和位置,那么您还可以直观地检查这两个文件。在相同的窗口中来回翻转两个图形,我可以看到左边距(到 y 轴标签)和右边距(到轴的边缘)是一致的,但更宽的半对数标签将轴的左边缘推得更远。

使用以下 MWE,我们会看到两种不同的行为,具体取决于我们如何对齐两个文件。使用选项scale而不是width,并制作一个minipage略大于最大缩放比例的 EPS 文件,让我们能够将图形对齐到其右边缘,确保轴正确对齐。

\documentclass{article}
\usepackage{graphicx}

\begin{document}
\begin{figure}
\centering
\begin{minipage}{3.5in} % just slightly larger than the scaled EPS size
\hfill \includegraphics[scale=0.5]{q178745-1.eps} % EPS size 6.99 x 5.48 in

\hfill \includegraphics[scale=0.5]{q178745-2.eps}  % EPS size 6.87 x 5.44 in
\end{minipage}
\caption{Two plots, right-aligned and with identical axis size}
\end{figure}

\begin{figure}
\centering
\includegraphics[width=3.5in]{q178745-1.eps} % EPS size 6.99 x 5.48 in

\includegraphics[width=3.5in]{q178745-2.eps}  % EPS size 6.87 x 5.44 in
\caption{Two plots, right-aligned and with identical overall size}
\end{figure}

\end{document}

在此处输入图片描述

相关内容