如何理解R语言做网络图的分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,如何理解R语言做网络图的分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用R语言包ggraph做网络图需要准备的最基
千家信息网最后更新 2025年12月03日如何理解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安全错误
数据库的锁怎样保障安全
手机和网络安全300字
服务器防御防火墙
宁夏网络安全教育品台
网络技术行业动态
如何正确使用网络安全课
阿里云服务器vpc
建立全区河湖水域划界数据库
重庆嵌入式软件开发哪家可靠
scp文件到多台服务器
底层软件开发和上层算法
学软件开发是前端好一点还是后端
进口单串口服务器厂家
ios文件管理器连接服务器
北邮华为信息与网络技术学院
哪个大学有万德数据库
云服务器怎么跑opencv
国家网络安全宣传周活动背景
检查代理服务器地址删除
荣耀嵌入式软件开发
杭州银匠网络技术有限
马鞍山互联网科技企业
王者服务器挤爆
赣州网络安全知识竞赛答案
奥维地图企业服务器怎么登陆
网络服务器建设阿帕奇错误
浙江软件开发的学校
计算机软件开发外包方式
网络安全手抄报参赛复杂
梧州市app软件开发团队
北京安先生网络技术有限公司