如何将标签放在多边形的圆外

如何将标签放在多边形的圆外

下面使用给出的代码https://tex.stackexchange.com/a/152195/。将标签放在包围(正)多边形的圆外最简单的方法是什么。我们有“上方”、“下方”等选项。但我想将标签放在圆外。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}

\begin{tikzpicture}
% create the node
\node[draw=none,minimum size=4cm,regular polygon,regular polygon sides=7] (a) {};

% draw a black dot in each vertex
\foreach \x in {1,2,...,7}
  \fill (a.corner \x) circle[radius=2pt];
\draw (0,0) circle (2cm);
\foreach \x in {1,2,...,7}
\node[label=below:{$x$}] at(a.corner \x){};
\end{tikzpicture}
\end{document}

答案1

如果你以稍大的半径绘制标签,则可以在外面绘制标签。这应该可以帮助你入门:

\documentclass[tikz]{standalone}
\usepackage{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
% create the node
\node[draw=none,minimum size=4cm,regular polygon,regular polygon sides=7] (a) {};

% draw a black dot in each vertex
\foreach \x in {1,2,...,7}
  \fill (a.corner \x) circle[radius=2pt] node[shift={(\x*360/7+35:0.4)}] {x};
\draw (0,0) circle (2cm);
\end{tikzpicture}
\end{document}

我认为有更好的解决方案。我不太明白为什么必须将节点再移动 35 度。我已删除该label=命令,因为它包含自动向下移动。如果您在标签文本中{\x}使用,您仍然可以对节点进行编号。{x}

在此处输入图片描述

相关内容