大数跨境
0
0

ggraph优雅的绘制网络热图

ggraph优雅的绘制网络热图 R语言数据分析指南
2023-05-17
0

欢迎关注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(-11), 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会员群精彩内容


【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读222
粉丝0
内容1.2k