Pgfplots:如何在使用“axis equal image = true”的同时创建具有一致宽度的样式?

Pgfplots:如何在使用“axis equal image = true”的同时创建具有一致宽度的样式?

解决方法:如果我设置得height非常大,则生成的图的宽度就是我想要的,而生成的高度不会超过所需的高度。在我的例子中,我可以设置height=11in,即我的纸张高度。

编辑:当 y 轴的高度接近设置的宽度限制时,宽度似乎开始缩小。就好像设置width实际上设置了宽度或高度的最大值。

我想为 pgfplots 图设置一个标准样式,以便所有图都具有相同的宽度。我还希望任何给定图的 x 轴和 y 轴都具有相同的比例,我相信这可以通过 实现axis equal image=true。不幸的是,当我添加axis equal image=true样式时,我不再获得一致的宽度。事实上,宽度值似乎在很大程度上被忽略了。

如何使用 获得恒定宽度(高度可以变化)axis equal image=true?以下三个图都有不同的宽度;我希望它们都是 8 厘米宽。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
  compat=1.11,
  standard/.style={
    width=8cm,
    trig format plots=rad,
    axis equal image=true,
    axis lines=middle,
  }
}
\begin{document}

\begin{tikzpicture}
  \begin{axis}[standard]
    \addplot[domain={0:pi}]{sin(x)};
  \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{axis}[standard,ymin=-2.0,ymax=1.0]
    \addplot[domain={0:pi}]{sin(x)};
  \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{axis}[standard]
    \addplot[domain={0:pi}]{2*sin(2*x)};
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容