最近我们被客户要求撰写关于网络图可视化的研究报告,包括一些图形和统计输出。
相关视频:复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化|数据分享
复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化
这篇文章假定你已经知道如何用igraph库建立一个基本的网络图。
基本上,igraph允许将几种类型的输入转化为一个图形对象,可以使用plot()函数绘制,如下所示。
# 创建数据
network <- graph(data , mode='undirected')
# 默认网络
plot(network)
自定义节点功能
节点可以修改几个参数,这些参数都以顶点开始。顶点是igraph语言中的一个节点。主要选项在下面的代码中解释。
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的特征。
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。
edge.width=seq(1,10), # 边宽度,默认为1
edge.arrow.size=1, # 箭头大小,默认为1
edge.arrow.width=1, # 箭头宽度,默认为1
edge.lty=c("solid") # 线条类型,可以是0或 "空白",1或 "实线",2或 "虚线",3或 "点线"等
综合运用
当然,你可以将上述所有选项全部用在同一个图表上。