cómo dibujar círculos dentro de círculos

cómo dibujar círculos dentro de círculos

Estoy aprendiendo a usar TikZ/PGF. Quiero hacer este dibujo:

ingrese la descripción de la imagen aquí

Así es como comencé:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}  
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,arrows,positioning,fit,calc,}

\begin{document}
    \begin{tikzpicture}
        \node (sun) at (0,0) [circle, fill=yellow, radius=0.3cm]{};
        \node (sunlabel) [above=0.08 of sun]{Sun};
        \node (root) at (0,0) [draw, circle, radius=3cm]{};
    \end{tikzpicture}
\end{document}

El problema es que el segundo círculo no está dibujado. No sé cuál es el problema. Esta sintaxis funciona pero no sé cómo darle un nombre a los círculos y cómo llenar un círculo con un color.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}  
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,arrows,positioning,fit,calc,}

\begin{document}
    \begin{tikzpicture}
        \draw (0,0) circle [radius=.3cm, fill=yellow];
        \draw (0,0) circle [radius=2cm];
         \path[
            %rotate=-15.2,
            postaction={
                decoration={
                    text along path,
                    text={%
                        OORT CLOUD
                    },
                    text align=center,
                    reverse path
                },
                decorate
            }
        ]
         (-27:2.2cm) arc (-27:210:2.2cm);
    \end{tikzpicture}
\end{document}

Respuesta1

Deberá colocar los caracteres acentuados entre llaves circle labelporque PGF dividirá la cadena en tokens y, por lo tanto, dividirá los acentos de los caracteres, lo que genera errores extraños.

Traduje las etiquetas al francés para enfatizar el comportamiento (no hablo francés, así que espero no haber cometido demasiados errores).

\documentclass[tikz]{standalone}
\usepackage[utf8]{inputenx}
\usetikzlibrary{decorations.text}
\begin{document}
\sffamily
\begin{tikzpicture}[
        white,
        ultra thick,
        planet/.style = {draw,fill,circle,inner sep=#1},
        circle label/.style = {
            postaction={
                decoration={
                    text along path,
                    text = {#1},
                    text align=center,
                    text color=white,
                    reverse path,
                },
            decorate,
        }
        }
    ]
    \filldraw[black] (-7,-7) rectangle (7,8);
    \node at (0,7.5) {\bfseries\Large Voisins les plus proches du soleil};
    \path[circle label={Nuage d'Oort}] (0,-1.2) arc (-90:360-90:1.2);
    \draw[dotted] (0,0) circle (1);
    \foreach \i in {2,4,6} {
        \path[circle label={\i\ Ann{é}e lumi{è}res}] (0,-\i-.2) arc (-90:360-90:\i+.2);
        \draw (0,0) circle (\i);
    }
    \node[yellow,planet=3pt,label={above:Soleil}] at (0,0) {};
    \node[red,planet=3pt,label={[text width=1.5cm,align=right]0:Proxima Centauri déc.\ 1917}] at (44:4.3) {};
    \node[yellow,planet=4pt,label={[text width=2.5cm,align=center]90:Alpha Centauri déc.\ 1917}] at (50:4.3) {};
    \node[red!50!black,planet=2pt,label={[text width=2.5cm,align=center]0:WISE 1049-5319 déc.\ 2013}] at (54:6.3) {};
    \node[red!50!black,planet=2pt] at (57:6.3) {};
    \node[red,planet=3pt,label={[text width=3cm,align=center]95:L'étoile de Bernard déc.\ 1916}] at (125:6) {};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Si usas la sintaxis:

\draw [fill=yellow] (0,0) circle (0.3cm) node (sun) {};

entonces las cosas funcionan como se esperaba:

ingrese la descripción de la imagen aquí

Notas:

  • Agregué un draw=nonepara el sol porque probablemente no quieras un borde alrededor.
  • Os dejé líneas originales como comentarios para que veáis las diferencias.

Código:

\documentclass[border=2pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}  
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,arrows,positioning,fit,calc,}

\begin{document}
    \begin{tikzpicture}
        %\node (sun) at (0,0) [circle, fill=yellow, radius=0.3cm] {};
        \draw [fill=yellow, draw=none] (0,0) circle (0.3cm)
            node (sun) {};
        \node (sunlabel) [above=0.08 of sun]{Sun};
        %\node (root) at (0,0) [draw=red, circle, radius=3cm] {};
        \draw [draw=red, ultra thick] (0,0) circle (3.0cm)
            node (planet) {};
    \end{tikzpicture}
\end{document}

Respuesta3

Menos pulsaciones de teclas con PSTricks.

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(-2,-2)(2,2)
    \pscircle*[linecolor=orange]{5pt}
    \pscircle{2}
\end{pspicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada