其他
你还不会画网络图?
之前模仿过一篇SCI中的网络图:
今天重温下网络图的画法。
“使用的R包为
tidyverse
、ggraph
、igraph
加载R包和数据
# 加载R包
library(tidyverse)
library(igraph)
library(ggraph)
# 加载数据
erasmus <- read.csv(file = "erasmus.csv")
数据准备
把数据变成需要的样子!
student_graph <-
erasmus %>%
filter(mobility_duration >= 7) %>%
count(sending_country_code, receiving_country_code, wt = participants, name = "students") %>%
filter(sending_country_code != receiving_country_code) %>%
mutate(across(contains("country_code"), countrycode::countrycode,
origin = "eurostat", destination = "country.name")) %>%
filter(students > 10) %>%
graph_from_data_frame(directed = FALSE) # 变成画图需要的样子
给大家看一下数据格式(部分),基本就是from
、to
、数量
3列,然后经过graph_from_data_frame
就变成了需要的格式!
画图
student_graph %>%
ggraph(layout = "linear", circular = TRUE) +
geom_edge_arc(aes(edge_alpha = students, edge_width = students), color = "midnightblue") + # 画线
geom_node_point(size = 5) + # 画点
geom_node_text(aes(label = name), repel = TRUE) # 加标签
需要数据的小伙伴可以关注公众号医学和生信笔记,后台回复20220317获取。
以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发!
欢迎在评论区留言或直接添加我的微信!
欢迎关注公众号:医学和生信笔记
“医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!
往期回顾
2022-02-08
2022-02-09
2022-02-10
2022-02-11
2022-02-07