pgfplots 限制范围奇怪的行为

pgfplots 限制范围奇怪的行为

当我使用 pgfplots 绘图并定义限制范围(xmin等)并尝试在坐标系中绘制时,我必须在使用相对坐标时添加限制范围。我做错了什么吗?

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
   x = 0.1cm,
   y = 0.1cm,
   domain = 0:60,
   axis lines=center,
   xmin = -9,
   xmax = 69,
   ymin = -9,
   ymax = 49,
]
\addplot {40*0.9772^x};
\draw (0,20) -- (20,20);
\draw [red] (20,20) -- ++(0,-20);
\draw [green] (20,20) -- ++(-9,-29);
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

默认坐标系axis cs在环境中axis。它可用于绝对坐标。它不适用于相对坐标,因为原点可能与不同(0pt, 0pt)。在本例中,它是不同的,你必须减去真实的原点。更简单的方法是使用axis direction cs,它旨在相对的坐标:

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
   x = 0.1cm,
   y = 0.1cm,
   domain = 0:60,
   axis lines=center,
   xmin = -9,
   xmax = 69,
   ymin = -9,
   ymax = 49,
]
\addplot {40*0.9772^x};
\draw (0,20) -- (20,20);
\draw [red] (20,20) -- ++(axis direction cs:0,-20);
\end{axis}
\end{tikzpicture}

\end{document}

结果

相关内容