查看原文
其他

你还不会画网络图?

阿越就是我 医学和生信笔记 2023-02-25
关注公众号,发送R语言,获取学习资料!


之前模仿过一篇SCI中的网络图:

R语言生信图表学习之网络图

今天重温下网络图的画法。

使用的R包为tidyverseggraphigraph

加载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# 变成画图需要的样子

给大家看一下数据格式(部分),基本就是fromto数量3列,然后经过graph_from_data_frame就变成了需要的格式!

image-20220315153351104

画图

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# 加标签
ggraph

需要数据的小伙伴可以关注公众号医学和生信笔记,后台回复20220317获取。


以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发

欢迎在评论区留言或直接添加我的微信!




欢迎关注公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!



往期回顾




R语言处理因子之forcats包介绍(1)

2022-02-08

R语言处理因子之forcats包介绍(2)

2022-02-09

R语言处理因子之forcats包介绍(3)

2022-02-10

R语言处理因子之forcats包介绍(4)

2022-02-11

矿工日常:藏毛窦简介

2022-02-07

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存