如何理解R语言做网络图的分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,如何理解R语言做网络图的分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用R语言包ggraph做网络图需要准备的最基
千家信息网最后更新 2026年10月31日如何理解R语言做网络图的分析使用R语言包ggraph做网络图需要准备的最基本的数据是:image.png 接下来我想给节点分组,不同组节点填充不同的颜色;按照自己的数值给节点大小;每条连线也可以分配粗细和颜色。这些信息都可以在构造数据的时候添加进去。image.png 接下来设置一下细节美化image.png
如何理解R语言做网络图的分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1、一个包括一列数据的数据框,每一行是各个节点的名称
2、一个包含两列数据的数据框,每一行代表节点节点之间的连线
比如一个有四个节点的网络,每个节点是A,B,C,D。两两节点互相连接。数据的样子:> nodes<-data.frame(node=c("A","B","C","D"))
> edges<-data.frame(node1=c("A","A","A","B","B","C"),
+ node2=c("B","C","D","C","D","D"))
> nodes
node
1 A
2 B
3 C
4 D
> edges
node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D
>
接下来对这个网络进行可视化library(ggraph)
library(igraph)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
给节点添加一列分组信息,给每个节点一个数值,用来映射节点大小。
nodes$Group<-c("group_1","group_1","group_2","group_2")
nodes$Size<-c(5,15,10,18)
nodes$Name<-nodes$node
给每条边添加颜色和粗细的映射数值
edges$color<-sample(seq(0,1,by=0.01),6)
edges$width<-sample(1:100,6)
基本图形如下net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))
边的渐变色深蓝到浅蓝不太好看,换!加上语句
scale_edge_color_continuous(low = "cyan",high = "red")
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")
每个节点的点太小了,增大!加上语句
scale_size_area(max_size = 30)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)
点的图例太大了,占了其他图例的位置,不要他了!加上语句
guides(size=F)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)
这里遇到一个问题是:有没有办法改变图例中点的大小呢?
新学到的:还可以改变图例的前后顺序,添加语句
guides(color=guide_legend(order=3))
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)+
guides(color=guide_legend(order=3))
虽然点大小的图例删掉了,但是他应该还是站着位置呢!如果想要把颜色图例设置为最后可能得把order设置为4。
有的节点超出了绘图边界,可以通过修改x和y轴的范围来调整,加上命令
theme_bw()就可以显示出坐标轴的范围
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)+
guides(color=guide_legend(order=3))+
theme_bw()+
xlim(-0.8,0.8)+ylim(-0.8,0.8)
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
节点
数据
图例
网络
大小
语句
颜色
接下来
数值
语言
一行
位置
信息
粗细
范围
分组
帮助
不同
好看
清楚
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
博彦科技互联网金融
广州紫鲸互联网科技有限公司
云信互联网科技有限公司
互联网和科技技术
科技互联网公司装修
港股互联网科技股
互联网 科技创新
高科技与互联网
互联网 卓越科技
礼当家互联网科技
米客互联网科技
互联网科技汛
汽车互联网创新科技园
威龙国际互联网科技公司
保险科技服务互联网营销体系
上海同邻互联网科技有限公司规模
容联科技互联网电商
中国科技和美国互联网
科技互联网公司两年变化
现代互联网科技公司
互联网科技公司华为
美国互联网科技
互联网科技类展会
农村开互联网科技讲堂
科技与互联网哪个更好
未来五年的互联网科技
深圳市优智互联网科技有限公司
米聚互联网科技南京有限公司排面
中和天地互联网科技有限公司
启辰互联网科技