Wie platziere ich mit Tikz einen Text im Nordwesten eines Kreises?

Wie platziere ich mit Tikz einen Text im Nordwesten eines Kreises?

Hier ist ein einfaches, vollständiges Beispiel:

\documentclass{article}
\usepackage{graphicx}
\usepackage{pgfplots, tikz}
\usetikzlibrary{positioning}

\begin{document}

\section{}

\begin{figure}
    \newcommand\radius{2}
    \newcommand\spacing{2}
    
    \centering
    \begin{tikzpicture}
        \draw (-\radius-\spacing/2, 0) circle (\radius);
        \draw (\radius+\spacing/2, 0) circle (\radius) node[anchor = north west]{Test};
    \end{tikzpicture}
    \caption{Caption}
\end{figure}

Die Ausgabe ist

Bildbeschreibung hier eingeben

Aber was ich will, ist, dass der Text "Test" im Nordwesten des Kreises stehtGrenze. Es scheint, als würde ich im Nordwesten des Kreises ankernCenterstattdessen. Wie kann ich das beheben?

Antwort1

Bei \draw (<x>,<y>) circle[radius=<r>] node[anchor=north west] {Test};wird der Knoten am Punkt platziert (<x>,<y>). Eine Lösung besteht darin, den Knoten separat am Punkt zu platzieren ({3+2*cos(135)},{2*sin(135)}).

Laut pgfmanual \draw (3,0) circle (2);ist die Syntax alt. Die neuere Syntax ist \draw (3,0) circle[radius=2];.

Bildbeschreibung hier eingeben

\documentclass[border=6pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (-3,0) circle[radius=2];
\draw (3,0) circle[radius=2];
\fill ({3+2*cos(135)},{2*sin(135)}) circle[radius=2pt];
\node[anchor=north west] at ({3+2*cos(135)},{2*sin(135)}) {Test};
\end{tikzpicture}
\end{document}

Antwort2

Ich bin nicht sicher, ob das das ist, was Sie möchten, aber Sie können labeleinem Knoten in jedem beliebigen Winkel ein hinzufügen:

Bildbeschreibung hier eingeben

Sie können den Beschriftungsabstand mithilfe positiver oder negativer Längen anpassen:

label={[label distance=2mm]135:Test}

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\node[draw, circle, minimum size=4cm, label=135:Test]{};
\end{tikzpicture}

\end{document}

verwandte Informationen