如何使用 tikz 在 pgfplots 图上绘制一个半径为 x 的简单圆?

如何使用 tikz 在 pgfplots 图上绘制一个半径为 x 的简单圆?

我在使用 tikz 在图表上绘制一个简单的圆圈时遇到了麻烦。当我尝试文档中的案例或来自不同问题的其他示例时,我得到了一个对角椭圆。这是我目前得到的结果。

\documentclass[12pt]{extarticle}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}

\begin{tikzpicture}[scale=0.8]
  \begin{axis}[
    axis y line=center,
    axis x line=middle, 
    axis on top=false,
    xmin=-6.5, xmax=6.5,
    ymin=-6.5, ymax=6.5,
    grid, 
    xtick={-6,...,6},
    xticklabels={-6,...,6},
    ytick={-6,...,6},
    yticklabels={-6,...,6},
    ]
     
    \draw (0,0) circle [radius=3];
    
  \end{axis}
\end{tikzpicture}

\end{document}

当我使用半径时,最终会得到一个对角椭圆,如下所示: 在此处输入图片描述

然后我尝试使用椭圆格式,我将其更改\draw (0,0) circle [radius=3];\draw (0,0) circle (45pt and 45pt);正如你从我的结果中看到的那样, 在此处输入图片描述 我得到了一个圆,但它似乎只与 x 轴对齐,并且超出了 y 轴。图表实际上不是正方形,还是圆的格式造成了问题?

答案1

添加到我的代码后,似乎可以\draw (x,y) circle[radius=?]很好地保持工作状态axis equal image。我的最终工作版本是:


\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}

\begin{tikzpicture}[scale=0.8]
  \begin{axis}[
    axis y line=center,
    axis x line=middle, 
    axis on top=false,
    axis equal image,
    xmin=-6.5, xmax=6.5,
    ymin=-6.5, ymax=6.5,
    grid, 
    xtick={-6,...,6},
    xticklabels={-6,...,6},
    ytick={-6,...,6},
    yticklabels={-6,...,6},
    ]   

    \draw (1,3) circle[radius=37pt];
  \end{axis}

\end{tikzpicture}

\end{document}

通过保持在轴内绘制,我没有遇到任何与定位圆相关的其他问题。

相关内容