如何防止 pgf/tikz 使用相对坐标时将圆绘制为椭圆?

如何防止 pgf/tikz 使用相对坐标时将圆绘制为椭圆?

我正在尝试绘制一个简单的 tikz 图片,其中包括一个 pgf 图和一些简单的 tikz 图形。我想放置一个圆,使其与点 (0,0) 处的抛物线相切。当我使用带单位的值作为圆心的半径和位置时,这种方法很有效,但当我使用相对坐标时,这种方法似乎会失败。

这是我的 MWE:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[scale=1]
\begin{axis}[%hide axis, 
            xmax=1,xmin=-1,
            ymin=-1,ymax=1]
        \draw (0,0)--(0,1);
        \draw (0,0)--(1,0);
        \addplot[gray,thin,domain=-1:1]{x^2};
        \addplot[gray,thin,domain=-1:1]{-x^2};
        \draw[blue] (0,1cm) circle (1cm);
        \draw[gray,thin] (0,.25) circle (.25);
\end{axis}
\end{tikzpicture}
\end{document}

我的 MWE 生成的椭圆形图像

任何帮助都值得感激。提前谢谢您!

答案1

该命令\draw[blue] (0,1cm) circle (1cm);绘制一个半径为1cm的圆。

该命令\draw[gray,thin] (0,.25) circle (.25);在轴的坐标系中绘制一个圆。也就是说,它绘制了x^2 + (y-0.25)^2 = 0.25^2轴坐标系中所有满足的点的集合。

现在请注意,绘图中的 x 刻度和 y 刻度是不同的:x 和 y 的范围都是从 -1 到 +1,但绘图的宽度大于其高度。如果您希望圆看起来像一个圆,则两个轴上的刻度必须相同。请参阅如何保持 x 轴和 y 轴的比例为 1:1

答案2

%我遇到了类似的问题,如果你把 y 轴上的刻度设为 1.19,它看起来会非常圆,我在另一个 stack exchange 问题上看到过这种情况,但我不知道是哪一个

修改后的情节

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[scale=1]
\begin{axis}[%hide axis, 
            xmax=1,xmin=-1,
            ymin=-1,ymax=1, 
     y post scale=1.19]
        \draw (0,0)--(0,1);
        \draw (0,0)--(1,0);
        \addplot[gray,thin,domain=-1:1]{x^2};
        \addplot[gray,thin,domain=-1:1]{-x^2};
        \draw[blue] (0,1cm) circle (1cm);
        \draw[gray,thin] (0,.25) circle (.25);
\end{axis}
\end{tikzpicture}
\end{document}

相关内容