网络图

2018-09-03

2018-09-03
网络图

1 设置网络图


绘制网络图需要用到igraph包

library(igraph)#加载igraph包

  利用graph函数绘制网络图,先加载调用包。

  参数directed的含义是对网络图进行有无向绘制。当directed=T时是有向的网络图,当directed=F时是无向的网络图。如下所示:

1)设置有向的网络图

YX<-graph(c(1,2,2,3,3,4,4,1),directed=T)
plot(YX)

  该图描绘的是有箭头的图,因此为有向图。表示从1-2,2-3,3-4,4-1。

2)设置无向的网络图

WX<-graph(c(1,2,2,3,3,4,4,1),directed=F)
plot(WX)

  该图描绘的是无箭头的图,为无向图。

library(readxl) #加载数据包
jsdata=read_excel("D:/TASK/复杂网络数据.xls") 
head(jsdata)
## # A tibble: 6 x 2
##   from   to   
##   <chr>  <chr>
## 1 阳光   环境 
## 2 温度   环境 
## 3 空气   环境 
## 4 水分   环境 
## 5 无机盐 环境 
## 6 环境   生物

  当数据中,某些元素存在一定的联系,如递进关系等,就可生成具有一定关系的网络图,如下所示:

data_stru<-graph.data.frame(jsdata)#从数据中生成图对象
plot(data_stru,edge.color=rainbow(40),
edge.arrow.size=1, #箭头大小
vertex.color=rainbow(7,alpha=0.3)) #设置颜色

  从上图可以看出,生物分几种类型,生物下的种类又再次进行划分,由衍生关系进行不断扩,形成网络图。

  生物中的关系较为多,常见的食物链随处可见。食物链关系如下所示:

library(readxl) #加载数据包
swdata<-read_excel("D:/TASK/简单食物链.xlsx")
data_stru<-graph.data.frame(swdata)#从数据中生成图对象
plot(data_stru,edge.color=rainbow(40),
edge.arrow.size=1, #箭头大小
vertex.color=rainbow(7,alpha=0.3)) #设置颜色