在 pgfplots 中反转 x 轴的方向

在 pgfplots 中反转 x 轴的方向

我想反转其中一个图中 x 轴的方向。pgfplots提供了x dir=reverse实现此操作的关键。但是,这并没有按预期工作 - 即使在以下示例中也是如此:

\documentclass{standalone} 
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
  \begin{tikzpicture}
    \begin{axis}[xmin=0,xmax=1,x=15cm,
                  ymin=0,ymax=1,y=10cm,
                  x dir=reverse]
      \addplot coordinates{(0,0) (1,1)};
    \end{axis}
  \end{tikzpicture}
\end{document}

在编译后的 pdf 中,绘图从左侧的 (0,0) 开始,就像没有该x dir=reverse选项一样。

我已经pgfplots安装了 1.5。

这里有什么问题?

答案1

问题在于您如何尝试设置图的宽度。请尝试以下方法:

\documentclass{standalone} 
\usepackage{pgfplots}
%
\pgfplotsset{compat=1.5, width=15cm, height=10cm, scale only axis}
%
\begin{document}
%
  \begin{tikzpicture}
    \begin{axis}[
      xmin=0,
      xmax=1,
      ymin=0,
      ymax=1,
      x dir=reverse
    ]
      \addplot coordinates{(0,0) (1,1)};
    \end{axis}
  \end{tikzpicture}
%
\end{document}

除非另有规定,您的图轴都将具有相同的大小。

答案2

这是由于你放置了x=15cm。reverse 所做的只是x=-x。因此,对于你的情况,你可以这样做:

\begin{axis}[xmin=0,xmax=1,x=-15cm,
              ymin=0,ymax=1,y=10cm]
  \addplot coordinates{(0,0) (1,1)};
\end{axis}

这相当于反转轴。

但是,x=优先于此,x dir这就是您获得现有设置的原因。

相关内容