这篇文章假定你已经知道如何用igraph库建立一个基本的网络图。

基本上,igraph允许将几种类型的输入转化为一个图形对象,可以使用plot()函数绘制,如下所示。

拓端tecdat|R语言用igraph绘制网络图可视化_R语言

# 创建数据
network <- graph(data , mode='undirected')

# 默认网络

plot(network)
 
自定义节点功能

节点可以修改几个参数,这些参数都以顶点开始。顶点是igraph语言中的一个节点。主要选项在下面的代码中解释。

拓端tecdat|R语言用igraph绘制网络图可视化_R语言_02

    vertex.frame.color = "green",            # 节点边界颜色
    vertex.shape=c("circle","square"),             # "none", "circle", "square", "rectangle", "crectangle", "vrectangle", "pie", "raster", or "sphere "之一
    vertex.size=c(15:24),                          # 节点的大小(默认是15)
    vertex.size2=NA,                               # 节点的第二个尺寸(例如,矩形的尺寸
 
自定义标签特征

以vertex.label.开头的选项可以设置label的特征。

拓端tecdat|R语言用igraph绘制网络图可视化_R语言_03

    vertex.label.family="Times",                   # 标签的字体(例如:"Times", 
    vertex.label.font=c(1,2,3,4),                  # 字体:1普通,2粗体,3斜体,4粗斜体,5符号
    vertex.label.cex=c(0.5,1,1.5),                 # 字体大小(乘法系数)
    vertex.label.dist=0,                           # 标签和顶点之间的距离
    vertex.label.degree=0 ,                        # 标签相对于顶点的位置(使用π)。
自定义边

用以edge开头的参数控制edge。

拓端tecdat|R语言用igraph绘制网络图可视化_R语言_04

    edge.width=seq(1,10),                        # 边宽度,默认为1
    edge.arrow.size=1,                           # 箭头大小,默认为1
    edge.arrow.width=1,                          # 箭头宽度,默认为1
    edge.lty=c("solid")                           # 线条类型,可以是0或 "空白",1或 "实线",2或 "虚线",3或 "点线"等
 
综合运用

当然,你可以将上述所有选项全部用在同一个图表上。

拓端tecdat|R语言用igraph绘制网络图可视化_R语言_05


拓端tecdat|R语言用igraph绘制网络图可视化_R语言_06