这是我的问题:我通过以下代码创建了该图表:
\begin{tikzpicture} \newdimen\R
\R=1.3cm
\draw (0:\R) \foreach \x in {60,120,...,360} { -- (\x:\R) };
\foreach \x/\l/\p in
{ 60/{$\overline{3}$}/above,
120/{$2$}/above,
180/{$1$}/left,
240/{$3$}/below,
300/{$\overline{2}$}/below,
360/{$\overline{1}$}/right
}
\node[inner sep=1pt,circle,draw,fill,label={\p:\l}] at (\x:\R) {};
\end{tikzpicture}
现在,我想在所有顶点之间添加边,但我不知道该怎么做。
答案1
\documentclass[tikz, border=20]{standalone}
\begin{document}
\begin{tikzpicture} \newdimen\R
\R=1.3cm
\draw (0:\R) \foreach \x in {60,120,...,360} { -- (\x:\R) };
\foreach \x/\l/\p in
{ 60/{$\overline{3}$}/above,
120/{$2$}/above,
180/{$1$}/left,
240/{$3$}/below,
300/{$\overline{2}$}/below,
360/{$\overline{1}$}/right
}
\node[inner sep=1pt,circle,draw,fill,label={\p:\l}] at (\x:\R) {};
\foreach \x in {60, 120, ..., 360} {
\draw (\x:\R) -- (\x+120:\R);
\draw (\x:\R) -- (\x+180:\R);
}
\end{tikzpicture}
\end{document}
只需再次绕圈迭代但连接每个其他节点然后再次迭代但跳过两个节点。
答案2
即使您已经接受了威洛比的答案,我还是会提出另一种解决方案,也许它更加灵活并且更适合人物的形象。
\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
\def\r{2}
\foreach \c [count=\i from 0] in {
$\overline{1}$,
$\overline{3}$,
$2$,
$1$,
$3$,
$\overline{2}$}
{
\path (0,0) -- (60*\i:\r) node[circle,inner sep=1mm,fill=black](\i){} --++ (60*\i:10pt) node{\c};
}
\foreach \i in {0,...,5}
\foreach \n in {\i,...,5}
\draw (\i.center) -- (\n.center);
\end{tikzpicture}
\end{document}