TikZ教程|图论篇—subgraph用法

作者:Daniel
时间:2020年6月9日

TikZ宏包中的subgraph库里定义了许多图论中的标准子图,例如空图 I n I_n In, 完全图 K n K_n Kn, 完全二部图 K n m K_{nm} Knm,圈图 C n C_n Cn, 路图 P n P_n Pn,格图 G r i d n Grid_n Gridn等等。

利用这些现成的标准子图,可以轻松绘制这些图以及由它们派生的图形。下面举四个例子说明具体作图方法。

Example 1. K 12 K_{12} K12

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

\begin{document}
\begin{tikzpicture}[thick]
\graph[n=12,
clockwise,radius=3cm,empty nodes,
nodes={draw,circle,fill=green!70!black}]
{
    subgraph K_n
};
\end{tikzpicture}

\end{document}

文档类使用standalone, 运行后生成独立的一张图片。导言区调用tikz宏包,并调用graphsgraphs.standard库。

\graph后中括号内的选项含义为:

  • n=12,clockwise,ruadius=3,empty nodes: 表示该完全图有12个顶点,将它们顺时针均匀排列在半径为3cm的圆周上,顶点为空的点,即不显示表示顶点的数字;
  • nodes={draw,circle,fill=green!70!black}: 表示用顶点的形状化成圆形,并用70%绿色混合30%黑色来填充顶点。

编译后输出的图形如下:
TikZ教程|图论篇—subgraph用法_第1张图片

Example 2. K 55 K_{55} K55

\tikz[thick]\graph[nodes={draw,circle,
inner sep=0pt,minimum size=3.1mm,
fill=red!20,as=},radius=0.8cm,clockwise,n=5]
{
  subgraph I_n[name=inner]--[complete bipartite]
  subgraph I_n [name=outer]
};
  • \graph的设置同例1;
  • 这里通过空图 I n I_n In n = 5 n=5 n=5给出完全二部图的两个顶点集,然后告诉以完全二部图的方式连边。

编译后输出的图形如下:
TikZ教程|图论篇—subgraph用法_第2张图片

Example 3. 轮图


\tikz[thick]\graph[nodes={draw,circle,
fill=red!20},clockwise,radius=0.75cm,
empty nodes,n=8]
{
  subgraph C_n[name=inner]<->[shorten <=1pt,shorten >=1pt] 
  subgraph C_n[name=outer]
};
  • 用两个 C n C_n Cn构造轮图;

  • <->表示以双向边连结图的顶点,两边的箭头都缩短1pt的距离。

编译后输出的图形如下:
TikZ教程|图论篇—subgraph用法_第3张图片

Example 4. 有向图

\tikz[thick]\graph[nodes={draw,circle,fill=red!20},clockwise,radius=2cm,empty nodes]
{
  subgraph K_n [n=7,clockwise];
 { [induced cycle,->,edge=red]2,3,4,6,7,},
};
  • 先画一个7个顶点的完全图;
  • 里面有一个5圈有有向边连结。

编译后输出的图形如下:
TikZ教程|图论篇—subgraph用法_第4张图片
在这里插入图片描述

关注公众号:大哉数学之为用,领取福利啦!

标题

【LaTeX微信交流加群:】

如果你希望交流LaTeX使用或者TikZ作图方面的问题,请先添加作者微信:niltxz,然后加入作者的LaTeX交流微信群。

【免费资料索取:】

如果你需要LaTeX方面的安装、使用的入门学习材料,请在本公众号回复:latex0, 索取资料下载链接及提取码(链接永久有效),都是非常实用LaTeX入门资料,里面包含:

  • 一份简明的关于安装latex的介绍
  • 中文LaTeX安装与使用

你可能感兴趣的:(TikZ作图教程)