pfgplots 的高度和宽度无法正常工作

pfgplots 的高度和宽度无法正常工作

我正在尝试使用 pgfplots 插入一个带有添加轴的图像,该图像具有与原始图像相同的纵横比,即,如果 x 轴是图像宽度的一半,则 y 轴也需要是图像高度的一半(与 pgfplots 默认值相反,它似乎将所有内容扭曲成近似的正方形)。

实现此目的的最简单方法似乎是计算宽度和高度值,然后在代码中手动定义它们。问题是这不起作用。生成的图与我指定的尺寸不完全相同(高度似乎比应有的高度小一点),并且图像明显扭曲。发生了什么事,我该如何解决这个问题?

以下是我一直使用的代码:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    xlabel={x axis},ylabel={y axis},
    xtick distance=1,ytick distance=1,
    width=10cm,height=4.44062cm,
    enlargelimits=false]
    \addplot graphics[xmin=0, xmax=5, ymin=0, ymax=5] {Images/test};
    \end{axis}
\end{tikzpicture}
\end{document}

上述代码中使用的测试图像:(宽 581px,高 258px) 测试图像

补充:有没有办法让绘图中的图像在调整大小时自动保留其纵横比?我有一个最近的问题关于这个话题,没有得到任何回应。这将是理想的,但手动缩放也是可以的。

答案1

感谢@TorbjørnT. 指出这个问题。这只是他们解决方案的更详细摘要。

width这个问题是由于误解了和的含义而产生的height。它们指的是最终图形的边界框的尺寸,即包含图、轴、标题、少量周围空白等的区域。错误地认为它们指的是轴的尺寸,但是可以通过scale only axis=true在轴环境中包含线来重新定义它们以具有此含义。因此,最终代码如下:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    xlabel={x axis},ylabel={y axis},
    xtick distance=1,ytick distance=1,
    width=10cm,height=4.44062cm,
    enlargelimits=false,
    scale only axis=true]
    \addplot graphics[xmin=0, xmax=5, ymin=0, ymax=5] {Images/test};
    \end{axis}
\end{tikzpicture}
\end{document}

相关内容