pb graph鼠标移上显示数据_基于R语言的数据可视化(网络图)

4fda5d4bccf650aa333312e2540db7e0.png

DAY 19

离开专栏一个多月了,终于度过了魔鬼考试周,小编决定重新开始更新数据可视化专栏,并且也开始尝试学习数据挖掘,以kaggle实战为主,希望大家多多支持,提出宝贵的意见。


网络图由点和边构成,反映的是两个节点的连接关系或者流通关系。

为了更好地绘制网络图,你的数据必须被转化为以下几种形式;

邻接矩阵:一个方阵,行和列中的元素是相同的。示例:相关矩阵。

#首先绘制一个定向,无权重的网络图
#library
library(igraph)
set.seed(10)

# Create data
data=matrix(sample(0:2, 25, replace=TRUE), nrow=5)
colnames(data)=rownames(data)=LETTERS[1:5]

# Tell Igraph it is an adjency matrix... with default parameters
set.seed(10)
network=graph_from_adjacency_matrix(data)

# plot it
plot(network)


对于网络图,可分为有向图和无向图,有权图和无权图,通过调整参数,修改图的表现形式。

par(mfrow=c(1,2))
set.seed(10)
network=graph_from_adjacency_matrix(data, weighted=NULL)
plot(network, main="UNweighted")
# right
set.seed(10)
network1=graph_from_adjacency_matrix(data, weighted=TRUE)
plot(network1, main="weighted")

10f4c390340539fab344fdb7397d9083.png


影响矩阵:
一个影响矩阵不一定有相同的行数和列数。默认情况下,它是从行定向到列。

library(igraph)
set.seed(1)
data=matrix(sample(0:2, 15, replace=TRUE), nrow=3)
colnames(data) <- letters[1:5]
rownames(data) <- LETTERS[1:3]

# create the network object
set.seed(1)
network=graph_from_incidence_matrix(data)

# plot it
plot(network)

379812599a5b51b40cb4bf8848ba5d4a.png

边的列表:通过表格的方式列出每一条的始末点

75651c722a378ff724d52d094bad88be.png
# create data:
links=data.frame(
  source=c("A","A", "A", "A", "A","F", "B"),
  target=c("B","B", "C", "D", "F","A","E")
)

# create the network object
set.seed(10)
network=graph_from_data_frame(d=links, directed=F) 
# plot it
plot(network)

4a35d22c45b602532dce5143498211b2.png

同时,可以给数据框添加新的变量,来反映节点的一些特征。

par(mfrow=c(1,2))
nodes=data.frame(
  name=LETTERS[1:6],
  carac=c( rep(10,3), rep(30,3))
)

# Turn it into igraph object
network=graph_from_data_frame(d=links, vertices=nodes, directed=F) 

# And use these new info in the plot!
plot(network, vertex.size=nodes$carac)

# The same but directed:
network=graph_from_data_frame(d=links, vertices=nodes, directed=T) 
plot(network, vertex.size=nodes$carac)

a84686635508de841cd9ae521c77dee3.png

连接的文本列表:提供一个包含所有边的连接向量。

network=graph_from_literal( A-B-C-D, E-A-E-A, D-C-A, D-A-D-C )
plot(network)

94f0e07940c0b07722fe756d8e439b1d.png

后期会补充调整网络图节点、边特征的一些参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值