Tikz-系统地绘制子图之间的边

Tikz-系统地绘制子图之间的边

我有类似的问题,但希望找到一个更系统的答案。

这是我的代码--

     \documentclass[tikz,border=5]{standalone}
     \usetikzlibrary{graphs}
     \usetikzlibrary{graphs.standard}
     \begin{document}
     \begin{tikzpicture}[every node/.style={fill,circle,very thick}]
       \graph [clockwise] {
         subgraph C_n [n=5,name=A, radius=1cm]; 
         subgraph I_n [n=5,name=B, radius=2cm];

         };

     \end{tikzpicture}
     \end{document}

c5

我正在尝试使用 /foreach 系统地将顶点从 Cn 连接到 In,例如:

     \documentclass[tikz,border=5]{standalone}
     \usetikzlibrary{graphs}
     \usetikzlibrary{graphs.standard}
     \begin{document}
     \begin{tikzpicture}[every node/.style={fill,circle,very thick}]
       \graph [clockwise] {
         subgraph C_n [n=5,name=A, radius=1cm]; 
         subgraph I_n [n=5,name=B, radius=2cm];

         \foreach \i in {1,...,5} \draw (A \i) -- (B \i);
         };

     \end{tikzpicture}
     \end{document}

我尝试了几次此代码的迭代,但找不到可以编译的东西。希望能找到系统性的东西,这样我就可以构建 n 大于 5 的图表。在此先感谢您的帮助。

答案1

我猜你会喜欢将你的工作转移到\foreach外部。\graph

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs}
\usetikzlibrary{graphs.standard}
\begin{document}
\begin{tikzpicture}[every node/.style={fill,circle,very thick}]
  \graph [clockwise] {
    subgraph C_n [n=5,name=A, radius=1cm]; 
    subgraph I_n [n=5,name=B, radius=2cm];
};

\foreach \i in {1,...,5} \draw (A \i) -- (B \i);

\end{tikzpicture}
\end{document}

结果

相关内容