使用边和顶点标签输入完整图

使用边和顶点标签输入完整图

我是新来的。我觉得这里是问这个问题的合适地方。

基本上,我想输入一个像这样的简单完整的图表:

http://commons.wikimedia.org/wiki/File:Complex_network_K6_complete_graph.png

我想要的是将顶点和边标签放在边和顶点的顶部。

我该怎么做?我应该使用哪些软件包以及应该输入哪些命令?

在此处输入图片描述

抱歉,我应该附上这张照片来展示我的想法。谢谢!

答案1

graph您可以为此使用 TikZ 及其出色的库。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard}

\begin{document}
\begin{tikzpicture}
  \graph { subgraph K_n [n=8,clockwise,radius=2cm] };
\end{tikzpicture}
\end{document}

输出

您还可以非常轻松地添加边缘标签:

\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard,quotes}

\begin{document}
\begin{tikzpicture}
  \graph[circular placement, radius=4cm,
         empty nodes, nodes={circle,draw}] {
    \foreach \x in {a,...,f} {
      \foreach \y in {\x,...,f} {
        \x -- \y;
      };
    };
    a --["3"'] b;
    a --["2"' near start] c;
    a --["1", near start] e;
    a --["1",] f;
    e --["2"'] f;
  };
  \foreach \x [count=\idx from 0] in {a,...,f} {
    \pgfmathparse{90 + \idx * (360 / 6)}
    \node at (\pgfmathresult:4.4cm) {\x};
  };
  \draw (a) edge[red, thick] node[black,left,pos=.2] {1} (d);
\end{tikzpicture}
\end{document}

输出

答案2

这只是 PSTricks 的另一个建议。代码及其输出的可读性都保持较高水平。

\documentclass[pstricks]{standalone}
\usepackage{pst-eucl}
\degrees[6]

\begin{document}

\begin{pspicture}(-5,-5)(5,5)
\multido{\iA=0+1,\iB=1+1}{6}{\Cnode[radius=3mm](4;\iA){N\iB}\rput(N\iB){\iB}}
\multido{\iA=1+1}{5}{%
    \multido{\iB={\numexpr\iA+1\relax}+1}{\numexpr6-\iA}{%
        \ncline[strokeopacity=.25]{N\iB}{N\iA}\ncput*[nrot=:U,npos=.8]{\scriptsize$\iA\leftrightarrow\iB$}}}
\end{pspicture}

\end{document}

在此处输入图片描述

答案3

运行xelatex

\documentclass[pstricks]{standalone}
\usepackage{pst-node,multido}
\begin{document}

\begin{pspicture}(-5,-5)(5,5)
\degrees[6]
\multido{\iA=0+1,\iB=1+1}{6}{\Cnode[radius=3mm](4;\iA){N\iB}\rput(N\iB){\iB}}
\multido{\iA=1+1}{5}{%
  \multido{\iB={\numexpr\iA+1\relax}+1}{\numexpr6-\iA}{\ncline{N\iA}{N\iB}}}
\multido{\iA=1+1}{5}{%   The same for the labels
  \multido{\iB={\numexpr\iA+1\relax}+1}{\numexpr6-\iA}{%
     \ncline[linestyle=none]{N\iA}{N\iB}\ncput*[npos=0.65]{\scriptsize$\iA\leftrightarrow\iB$}}}
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容