欢迎关注R语言数据分析指南
❝本节来介绍如何使用「ggraph」包来绘制圆形布局的相关性网络图,非常简单的一个小案例,「数据+代码已经上传2023VIP群,加群的观众老爷请自行下载」
❞
加载R包
library(tidyverse)
library(corrr)
library(igraph)
library(ggraph)
相关性分析
# 对mtcars数据集进行相关性计算和转换
tidy_cors <- mtcars %>%
correlate() %>% #计算相关矩阵
stretch() #把相关矩阵转换成数据框形式
构建网络文件
# 创建相关系数大于0.3的图形对象
graph_cors <- tidy_cors %>%
filter(abs(r) > .3) %>% #选择相关系数大于0.3的变量
graph_from_data_frame(directed = FALSE) #创建无向图
绘制简单的节点和边连接的图形
ggraph(graph_cors) +
geom_edge_link() + #添加边连接
geom_node_point() + #添加节点
geom_node_text(aes(label = name)) #添加节点标签
添加颜色映射
ggraph(graph_cors) +
geom_edge_link(aes(edge_alpha = abs(r), edge_width = abs(r), color = r)) + #添加边连接,并映射颜色、透明度和宽度
guides(edge_alpha = "none", edge_width = "none") + #移除图例
scale_edge_colour_gradientn(limits = c(-1, 1), colors = c("firebrick2", "dodgerblue2")) + #设置颜色梯度
geom_node_point(color = "white", size = 5) + #添加节点,并设置颜色和大小
geom_node_text(aes(label = name), repel = TRUE) + #添加节点标签,并设置是否排斥
theme_graph()
绘制圆形布局图
ggraph(graph_cors,layout='linear',circular = TRUE) + #使用圆形布局
geom_edge_arc(aes(edge_alpha = abs(r), edge_width = abs(r), color = r)) + #添加圆弧边连接,并映射颜色、透明度和宽度
scale_edge_color_gradientn(colours = (RColorBrewer::brewer.pal(8,"RdBu"))) + #设置颜色梯度
geom_node_point(shape = 21, size = 8, show.legend = F, color = "#5686C3", fill = "#5686C3") + #添加节点,并设置形状、大小和颜色
geom_node_text(aes(label = name), repel = TRUE) + #添加节点标签,并设置是否排斥
theme_graph() + #设置图形主题
theme(legend.background = element_blank(),
legend.title = element_blank())
❝有需要学习个性化数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」购买「2023年度会员」
❞初始价格99元,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码;按照往年数据小编年产出约在150+以上
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的「除系列课程外」的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询。
淘宝扫一扫
小编微信

关注下方公众号下回更新不迷路
2023会员群精彩内容







