軸を表示せずに単一の座標にラベルを付ける

軸を表示せずに単一の座標にラベルを付ける

次のように円を描き、その上にいくつかの点をマークしようとしています。

    \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}

ここに画像の説明を入力してください

もちろん、極座標で定義された 2 つの座標間に線を描くこともできます。例:

\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} 

関連情報