轴环境中相对节点位置不正确

轴环境中相对节点位置不正确

我想pgfplots使用相对 ( ++) 坐标在绘制的图形中绘制一条路径。以下代码编译时没有任何错误,但点不在所需位置:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

\begin{tikzpicture}
    \begin{axis}
     \addplot{x^2};
     \draw (1,2) --++ (0,1) --++ (1,0) --++ (0,1); % This should result in a staircase
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述 知道是什么原因导致了这个问题吗?

答案1

正如您在4.17.1 版 PGFlots 手册第 349 页(v1.14)您需要使用axis direction cs来使相对坐标起作用。

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    % use this `compat' level or higher so you don't need to state `axis cs:'
    % at the coordinates
    \pgfplotsset{compat=1.11}
\begin{document}
    \begin{tikzpicture}
        \begin{axis}
            \addplot{x^2};
            \draw [red,very thick] (1,2)
                -- ++(axis direction cs:0,1)
                -- ++(axis direction cs:1,0)
                -- ++(axis direction cs:0,1)
            ;
        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容