Etiquetar una sola coordenada sin que aparezca ningún eje

Etiquetar una sola coordenada sin que aparezca ningún eje

Estoy tratando de dibujar un círculo y marcar algunos puntos de la siguiente manera:

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

Que traza esto:

ingrese la descripción de la imagen aquí

Estaba buscando una forma más sencilla de etiquetar los nodos sin tener que calcular manualmente la posición de cada punto en relación con el punto trazado, cuando encontré esta publicación:Etiquetar una sola coordenada (pgfplots). Cuando intenté usar el diagrama pgf, pude etiquetar los puntos fácilmente, pero no pude eliminar los diferentes ejes y diagramas que aparecían. ¿Existe una forma más limpia de hacer esto?

Respuesta1

  • El uso del sistema de coordenadas polares permite definir de forma sencilla la posición de los círculos y su etiquetado.
  • En lugar de dibujar círculos, sugiero usar nodos, que pueden etiquetarse fácilmente por opción 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}

ingrese la descripción de la imagen aquí

Apéndice: Si le gusta dibujar líneas entre nodos en el diagrama anterior, puede hacerlo simplemente con nodos nombrados y luego dibujar líneas \draw (<node name>) -- (<node name>);por ejemplo:

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

ingrese la descripción de la imagen aquí

Por supuesto, puedes trazar una línea entre dos coordenadas definidas por coordenadas polares. Por ejemplo:

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

Usar esto en el MWE anterior no dará el mismo resultado que se muestra en la imagen de arriba: aparecerá una línea entre el centro de los nodos en esas coordenadas, mientras que en el MWE anterior está entre los bordes de los nodos.

Respuesta2

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

información relacionada