\draw 在轴环境中不起作用

\draw 在轴环境中不起作用

根据 pgfplots 手册,我预计以下代码可以工作:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{figure}
  \begin{tikzpicture}
    \begin{axis}[
      xmin=0,
      xmax=4,
      ymin=0,
      ymax=4,
      ]
      \draw (1,1) -- (3,2);
    \end{axis}
  \end{tikzpicture}
\end{figure}
\end{document}

然而,它却没有 - 这意味着该\draw命令似乎什么都没做。我只是得到了一个没有线的空轴。

在此处输入图片描述

有人能解释一下吗?我想解决方案会很简单……

答案1

您需要添加compat选项来告诉pgfplots您要使用哪个版本。最新版本是 1.11,或者您可以使用关键字newest始终使用最新版本。请注意,在 v1.11 中分配点的默认行为已更改,因此您需要将兼容性设置为等于或高于该版本。还请注意语法newest软件包作者不推荐(或者至少,您应该知道您有理由使用它newest而不是明确的版本)。

\documentclass{article}
\usepackage{pgfplots}
%\pgfplotsset{compat=newest} %<------ Here
\pgfplotsset{compat=1.11} %<------ Or use this one
\begin{document}
\begin{figure}
  \begin{tikzpicture}
    \begin{axis}[
      xmin=0,
      xmax=4,
      ymin=0,
      ymax=4,
      ]
      \draw (1,1) -- (3,2);
    \end{axis}
  \end{tikzpicture}
\end{figure}
\end{document}

事实上,如果你查看 OP MWE 的日志(没有compat设置),你会发现以下消息:

Package pgfplots Warning: running in backwards compatibility mode (unsuitable t
ick labels; missing features). Consider writing \pgfplotsset{compat=1.11} into 
your preamble.
 on input line 4.

它会告诉你大部分你需要知道的信息!

相关内容