网络图
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)) #设置颜色