如何使用 tikz 将文本放置在圆圈的西北部?

如何使用 tikz 将文本放置在圆圈的西北部?

这是一个简单完整的示例:

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

输出为

在此处输入图片描述

但我想要的是“测试”文本位于圆圈的西北边界。我好像停泊在圆圈的西北方向中心我该如何修复这个问题?

答案1

其中\draw (<x>,<y>) circle[radius=<r>] node[anchor=north west] {Test};,节点放置在点处(<x>,<y>)。一种解决方法是将节点单独放置在点处({3+2*cos(135)},{2*sin(135)})

根据 pgfmanual,该语法\draw (3,0) circle (2);比较旧。较新的语法是\draw (3,0) circle[radius=2];

在此处输入图片描述

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

答案2

不确定这是否是您想要的,但您可以label从任意角度向节点添加:

在此处输入图片描述

您可以使用正长度或负长度来调整标签距离:

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}

相关内容