我有两个图,其中 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}