这篇文章假定你已经知道如何用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或 "点线"等
随时关注您喜欢的主题
综合运用
当然,你可以将上述所有选项全部用在同一个图表上。

可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!