在 pgfplots 中在轴上绘制圆圈

在 pgfplots 中在轴上绘制圆圈

我刚刚开始掌握乳胶上的绘图和 tikzpictures。我现在可以绘制线条和函数并按我想要的方式操作它们,但我需要绘制一个圆圈。

\begin{tikzpicture}
\begin{axis}[
    axis lines = left,
    xlabel = $x$,
    ylabel = {$y$},
]
\addplot [
    domain=-4:4, 
    samples=10, 
    color=red,
]
{2*x+1};
\addlegendentry{$2x+1$}

\end{axis}
\end{tikzpicture}

这就是我使用的线,我需要在那里添加一个圆圈。

答案1

绘制圆的一种方法是分别绘制上部和下部。对于以原点为中心、半径为 3 的圆,您可以使用:

\addplot [domain=-3:3, blue] {sqrt(9-x^2)};
\addplot [domain=-3:3, blue] {-sqrt(9-x^2)};

在此处输入图片描述

笔记:

  • 需要使用axis equal=true确保 x 轴上使用的刻度与 y 轴上使用的刻度相同。否则圆会看起来像椭圆。

  • 我通过设置改变了图例的位置legend style

  • 如果愿意,您也可以使用参数方程:

      \addplot[domain=-180:180, My Style, blue] ({3*cos(x)},{3*sin(x)});
    

    其中域以度为单位,因为这是 pgfplots 三角函数参数的预期方式。

代码:

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}

\tikzset{My Style/.style={samples=100, thick}}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    axis lines = middle,
    xlabel = $x$,
    ylabel = {$y$},
    axis equal=true,
    legend style={
        cells={anchor=west},
        legend pos=north west
    },
]

\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}
\end{document}

相关内容