为什么我可以在 pgfplots 中画一个矩形,但不能画一个圆形?

为什么我可以在 pgfplots 中画一个矩形,但不能画一个圆形?
\documentclass[11pt]{exam}

\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{center}

\begin{tikzpicture}
\begin{axis}[
xlabel=$x$, ylabel=$y$,
xmax =3, xmin =-3, ymax=3, ymin=-3,
axis lines = center,
xtick={-3,-2,...,3}, ytick={-3,-2,...,3},
axis line style={<->},
axis equal image,
]
\draw [red, thick,rounded corners] (axis cs:-1,-1) rectangle (axis cs:1,1);
\draw (axis cs:0,0) circle [blue, radius=1];
\end{axis}
\end{tikzpicture}

\end{center}
\end{document}

结果是: 红色矩形和“蓝色圆圈”

不过,我还想包括一个圆圈。

答案1

问题下方的评论中已经说明了所有内容。这里再次结合答案。

为了回答你在评论中的问题,下面引用了PGFPlots 手册第 2.2.1 节第 9 页(v1.14)

pgfplots 1.5.1 将圆和椭圆半径解释为 pgfplots 坐标(旧版本使用 pgf 单位向量,与 pgfplots 没有直接关系)。换句话说:从 1.5.1 版开始,可以\draw circle[radius=5]在轴内写入。这需要\pgfplotsset{compat=1.5.1}或更高版本。

所以我必须修改上面的注释。使用低一点的compat级别就足够了。有关详细信息,请查看代码中的注释。

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    % -------------------------------------------------------------------------
    % this solves your problem
    % -------------------------------------------------------------------------
    % use this `compat' level or higher to use the improved features for
    % drawing circles/ellipses
    \pgfplotsset{compat=1.5.1}
    % -------------------------------------------------------------------------
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xlabel=$x$,
            ylabel=$y$,
            xmax=3,
            xmin=-3,
            ymax=3,
            ymin=-3,
            % it is simpler to use these commands than providing `xtick' and `ytick'
            xtick distance=1,
            ytick distance=1,
            axis lines=center,
            axis line style={<->},
            axis equal image,
        ]
            \draw [red, thick,rounded corners]
                (axis cs:-1,-1) rectangle (axis cs:1,1);
            % moved color option to the option block of the `\draw' command
            \draw [blue]
                (axis cs:0,0) circle [radius=1];
        \end{axis}
    \end{tikzpicture}
\end{document}

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

相关内容