标记单个坐标而不显示任何轴

标记单个坐标而不显示任何轴

我正在尝试画一个圆圈并在上面标记一些点,如下所示:

    \begin{tikzpicture}
        \draw (2,2) circle (2cm);
        \fill[black!100!] (1,0.25) circle (0.10cm);
        \fill[black!100!] (4,2) circle (0.10cm);
        \fill[black!100!] (2.4,3.97) circle (0.10cm);
        \fill[red!100!] (2,2) circle (0.10cm);
        \node at (0.5,-0.25) {$(x_1,y_1)$};
        \node at (5,2) {$(x_2,y_2)$};
        \node at (2.4,4.57) {$(x_3,y_3)$};
        \node at (2,1.5) {$(a_1,a_2)$};
    \end{tikzpicture}

绘制如下:

在此处输入图片描述

当我发现这篇文章时,我正在寻找一种更简单的方法来标记节点,而不必手动找出每个点相对于绘制点的位置:标记单个坐标(pgfplots)。当我尝试使用 pgf 图时,我可以轻松标记点,但无法删除出现的不同轴和图。有没有更简洁的方法来做到这一点?

答案1

  • 使用极坐标系可以简单地定义圆的定位及其标记。
  • 我建议使用节点来代替绘制圆圈,节点可以通过选项轻松标记label
\documentclass[tikz, margin=3mm]{standalone}

\begin{document}
    \begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm, inner sep=0pt},
dot/.default = black
                        ]  
% circle
\draw (0,0) circle (2cm);
% nodes
\node [dot=red, label=below:{$(a_1,a_2)$}] {};
\node [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node [dot,label=  0:{$(x_2,y_2)$}] at ( 0:2) {};
\node [dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

附录: 如果您想在上面的图表中的节点之间画线,那么您可以通过命名节点来做到这一点,然后通过以下方式画线\draw (<node name>) -- (<node name>);:例如:

\documentclass[tikz, margin=3mm]{standalone}

\begin{document}
    \begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm, 
              inner sep=0pt, outer sep=0pt},
dot/.default = black
                        ]
% circle
\draw (0,0) circle (2cm);
% nodes
\node (O) [dot=red, label=below:{$(a_1,a_2)$}] {};
\node (a) [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node (b) [dot,label=  0:{$(x_2,y_2)$}] at ( 0:2) {};
\node (c)[dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
% lines
\draw (O) -- (b);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

当然,你也可以在极坐标定义的两个坐标之间画线。例如:

\draw (0:0) -- (0:2):

在上面的 MWE 中使用此功能不会产生与上图所示的相同结果:线将出现在这些坐标处的节点中心之间,同时在上面的 MWE 中位于节点边界之间。

答案2

    \begin{tikzpicture}
    \draw (2,2) circle (2cm);
    \fill[black!100!] (1,0.25) circle (0.10cm) node[below]{$(x_1,y_1)$};
    \fill[black!100!] (4,2) circle (0.10cm)node[right]{$(x_2,y_2)$};
    \fill[black!100!] (2.4,3.97) circle (0.10cm)node[above]{$(x_3,y_3)$};
    \fill[red!100!] (2,2) circle (0.10cm)node[below] {$(a_1,a_2)$};
    \end{tikzpicture} 

相关内容