使用 tkz-graph 绘制顶点的同心圆

使用 tkz-graph 绘制顶点的同心圆

我想用tkz-graph它来布置同心圆上的顶点循环。如果我有完整的循环,那么就可以很好地完成这项工作,但是因为我想排除一些边缘,所以我觉得我需要前一个包。我希望能够通过和宏tkz-berge来实现类似于左侧子图(第一个 tikzpicture 环境)的东西。我相信这是一个失败的 MWE。tkz-graph\Vertices*\Edges

\documentclass{standalone}


\usepackage{tikz}
\usepackage{tkz-berge}

\begin{document}
    \begin{tikzpicture}[scale=0.45,rotate=22.5]
      \GraphInit[vstyle=Simple]
      \tikzset{VertexStyle/.append style={minimum size=3pt}}
      \grCycle[RA=1.0,prefix=a,Math=true]{8}
      \grCycle[RA=2.5,prefix=b,Math=true]{8}
      \grCycle[RA=4.0,prefix=c,Math=true]{8}
      \grCycle[RA=5.5,prefix=d,Math=true]{8}
      \EdgeIdentity{a}{b}{8}
      \EdgeIdentity{b}{c}{8}
      \EdgeIdentity{c}{d}{8}
    \end{tikzpicture}

    \begin{tikzpicture}[scale=0.45,rotate=18]
      \GraphInit[vstyle=Simple]
      \tikzset{VertexStyle/.append style={minimum size=3pt}}
      \tikzset{node distance = 1.5cm}
      \Vertices{circle}{A,B,C,D,E}

      \begin{scope}
        \tikzset{VertexStyle/.append style={node distance = 3cm}}
%        \tikzstyle{every node} = [node distance = 3cm]
        \Vertices*{circle}{F,G,H,I,J}
      \end{scope}

      \begin{scope}
        \tikzset{VertexStyle/.append style={node distance = 4.5cm}}
%        \tikzstyle{every node} = [node distance = 3cm]
        \Vertices*{circle}{K,L,M,N,O}
      \end{scope}
    \end{tikzpicture}

\end{document}

在此处输入图片描述

从我读过的内容来看,答案可能适合我使用\SetGraphUnit{1.5},但出于其他原因,我不想将我的 texlive 安装升级到最新版本。有没有办法在同心圆上布局顶点,以便我只能添加我需要的那些边?

答案1

也许我不明白你的问题,但\grEmptyCycle如果你想要没有边缘的循环,你可以使用它。

然后你可以混合使用 tkz-berge 和 tkz-graph 的宏。我不明白这个问题和 ? 之间的联系。\SetGraphUnit这个宏修改了用于定义顶点之间距离的单位。

\documentclass{standalone}


\usepackage{tikz}
\usepackage{tkz-berge}

\begin{document}
    \begin{tikzpicture}[scale=0.45,rotate=22.5]
      \GraphInit[vstyle=Simple]
      \tikzset{VertexStyle/.append style={minimum size=3pt}}
      \grEmptyCycle[RA=1.0,prefix=a,Math=true]{8}
      \grEmptyCycle[RA=2.5,prefix=b,Math=true]{8}
      \grEmptyCycle[RA=4.0,prefix=c,Math=true]{8}
      \grEmptyCycle[RA=5.5,prefix=d,Math=true]{8}
    \end{tikzpicture}

\end{document}

在此处输入图片描述

备注:使用 tkz-berge 有一些宏可以绘制边序列,如 a0-a1-a2-a4 等,并且您可以排除一些边。

可以使用 tikz-graph 中的宏。您可以将选项 circle 与 Vertice 一起使用。

答案2

仅用于使用 PSTricks 进行打字练习。

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot,pgfmath}
\psset{plotpoints=9,showpoints}
\begin{document}
\begin{pspicture}(-5,-5)(5,5)
\foreach \c[count=\r from 1] in {A,...,D}{\curvepnodes{0}{360}{\r\space t PtoC}{\c}\psnline(0,8){\c}}
\foreach \i in {0,...,8}{\psline(A\i)(B\i)(C\i)(D\i)}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容