我不想画圆。我想用 plot 函数绘制圆的方程。我觉得有区别。这是我要绘制的圆的方程。$$ x^2 + y^2 = 25 $$。
这是我的尝试,但它没有显示圆形。它看起来更像抛物线。我做错了什么?
\pgfplotsset{compat = newest}
Here is a circle.
\newline
\begin{tikzpicture}
\begin{axis}[
xmin = -6, xmax = 6,
ymin = -5, ymax = 6,
]
\addplot[
domain = -5:5,
samples = 200,
smooth,
thick,
blue,
] { sqrt{ 25 - \x*\x } };
\end{axis}
\end{tikzpicture}
答案1
虽然我对 pgfplots 还不熟悉,但也许这个答案可以指出正确的方向——复制自——
需要使用 axis equal=true 来确保 x 轴和 y 轴使用的刻度相同。否则圆会看起来像椭圆。
我通过设置图例样式改变了图例的位置——使用——https://tex.stackexchange.com/a/227101/197451
\tikzset{My Style/.style={samples=100, thick}}%<----------------preamble
\begin{tikzpicture}
\begin{axis}[
axis lines = middle,
xlabel = $x$,
ylabel = {$y$},
axis equal=true,
legend style={at={(0.5,-0.1)},anchor=north,
% cells={anchor=west},
% legend pos=north west,
% legend image post style={yshift=1cm}
},
]
% \addplot [domain=-4:4, My Style, red] {2*x+1};
% \addlegendentry{$y=2x+1$}
\addplot [domain=-3:3, My Style, blue] {sqrt(9-x^2)};
\addplot [domain=-3:3, My Style, blue] {-sqrt(9-x^2)};
\addlegendentry{$x^2+y^2=9$}
\end{axis}
\end{tikzpicture}
答案2
首先,在您的示例中,sqrt{...}
应该替换为sqrt(...)
。
接下来,我的回答基于pgfplots
手动的,第 4.23 节表明,使用极坐标系绘制圆,可以用更少的样本获得更平滑的图。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\begin{document}
Here is a circle.
\newline
\begin{tikzpicture}
\begin{axis}[
axis equal
]
\addplot[
domain = 0:2*pi,
samples = 40,
smooth,
data cs=polar,
thick,
blue,
] (deg(x), 5);
\end{axis}
\end{tikzpicture}
\end{document}