如何在 Tikz 中将节点放置在圆圈周围?

如何在 Tikz 中将节点放置在圆圈周围?

我想在一个圆周围放置 17 个等距节点。我对 Tikz 还很陌生,正在按照手册中的 Petri 网示例操作。我想做类似的事情——本质上只是重新创建一个更好的版本,完成维基百科文章中描述的所有步骤。

有人知道如何以这种方式放置节点吗?我将不胜感激并提出所有建议!

答案1

是时候打电话了\foreach

\documentclass{report}
\usepackage{tikz,calc}

\begin{document}
\begin{tikzpicture}
\foreach \a in {1,2,...,17}{
\draw (\a*360/17: 4cm) node{angle \a};
}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

使用 PSTricks 的终极宏\curvepnodes

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\degrees[10]
\begin{document}
\makeatletter
\begin{pspicture}(-3,-3)(3,3)
    \curvepnodes[plotpoints=11]{0}{10}{2.7 t \pst@angleunit PtoC}{A}
    \psnccurve[showpoints](0,9){A}
    \multido{\i=0+1}{10}{\uput[\i](A\i){$A_{\i}$}}
\end{pspicture}
\makeatother
\end{document}

在此处输入图片描述

注:Herbert 或其他 PSTricks 维护者,请给我一个 RPN 运算符,angleunit以避免输入\makeatletter ... \makeatother消耗更多击键次数的字符。

动画片

如何用变点的封闭曲线逐步画出圆。

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}

\begin{document}
\makeatletter
\multido{\iA=2+1}{20}{%
\def\N{\iA}
\degrees[\N]
\begin{pspicture}(-3,-3)(3,3)
    \curvepnodes[plotpoints=\numexpr\N+1]{0}{\N}{2.7 t \pst@angleunit PtoC}{A}
    \psnccurve(0,\numexpr\N-1){A}
    \multido{\i=0+1}{\N}{\uput[\i](A\i){$A_{\i}$}}
\end{pspicture}}
\makeatother
\end{document}

在此处输入图片描述

答案3

那么图表怎么样?

\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \graph[clockwise, radius=4cm, n=17]
    {
        label1,label2,label3,label4,label5,label6,label7,label8,label9,label10,label11,label12,label13,label14,label15,label16,label17;
    };
\end{tikzpicture}
\end{document}

添加弧线就像书写一样简单label1->[bend right]label2;

我非常确信有一种更简便的方法来设置标签,但我现在不知道,抱歉。

渲染图像

相关内容