![如何将标签放在多边形的圆外](https://linux22.com/image/356865/%E5%A6%82%E4%BD%95%E5%B0%86%E6%A0%87%E7%AD%BE%E6%94%BE%E5%9C%A8%E5%A4%9A%E8%BE%B9%E5%BD%A2%E7%9A%84%E5%9C%86%E5%A4%96.png)
下面使用给出的代码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}