大数跨境
0
0

ggplot2自定义调整分面图形布局

ggplot2自定义调整分面图形布局 R语言数据分析指南
2023-03-03
2

欢迎关注R语言数据分析指南

本节来介绍一个常见的绘图案例,「调节分面图形的布局提高图形的观赏性」,非常简单的一个小案例,喜欢的观众老爷欢迎收藏转发。

2023-VIP购买方式

有需要购买2023年文档的朋友欢迎到小编的「淘宝店铺」 「R语言数据分析指南」下单购买,微信发小编订单截图即可邀请进新的交流群,小编的文档为按年售卖,只包含当年度的「除系列课程外」的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询,「添加小编微信请备注,以提高沟通效率」

淘宝店铺个性化绘图服务

有需要找小编做个性化绘图的朋友欢关注「淘宝店铺(R语言数据分析指南)」 有需求者可咨询下单。

加载R包

library(tidyverse)
library(ggsci)

构建数据

df <- tibble(
  country = c("Sweden""Denmark""Netherlands""Portugal""Japan""Estonia"),
  n_years = c(271186169817460)) %>% 
  group_by(country) %>% 
  group_modify(~ runif(n = .x$n_years) %>% tibble(random = .)) %>% 
  mutate(year = 2022 - seq_along(country)) %>% 
  ungroup()

基础可视化

df %>% 
  ggplot(aes(year, random, color = country))+
  geom_path()+
  facet_wrap(~country, ncol = 2)

可以看到通过分面操作后数据的排列比较混乱,且分面宽度均为一致这样就浪费了很多的空间,那么解决此问题以往的经验是使用「ggh4x」包来控制每一个分面的宽度,其实在此我们也可以通过自定义每一个分面的布局顺序,其后通过「space = "free"」 来自动调整宽度。

构建分面布局

arr <- df %>% mutate(country = country %>% as_factor %>% fct_infreq()) %>%
  arrange(country, year) %>% 
  mutate(row = country %>%lvls_revalue(new_levels = 1:3 %>% rep(2) %>% paste),
    col = country %>%lvls_revalue(new_levels = 1:2 %>% 
    rep(each = 3) %>% paste )) %>% ungroup()

自定义分面

arr %>% 
  ggplot(aes(year, random, color = country))+
  geom_line()+ 
  facet_grid(row~col, scales = "free_x", space = "free")+
  geom_text(data = . %>% distinct(country, row, col),
    aes(label = country), x = 2020, y = 1.05,
    hjust = 1, vjust = 0, size = 5,fontface = 2)+
  scale_y_continuous(limits = c(01.15), breaks = seq(01.25))+
  scale_x_continuous(breaks = seq(1750200050))+
  scale_color_npg()+
  labs(x=NULL,y=NULL)+
  theme_bw()+
  theme(legend.position = "none",strip.text = element_blank(),
        axis.text = element_text(color="black",size=9,face="bold"))

可以看到这样大大提高了空间利用率,喜欢的观众老爷欢迎分享转发。有学习需求者欢迎到小编「淘宝店铺 R语言数据分析指南」 购买小编2023年的VIP文档,已有不少朋友学以至用用到了论文当中,「加小编微信请备注信息及来意,无需要请勿扰」

小编微信

关注下方公众号下回更新不迷路


ChatGPT进阶使用方案


[会员专享] nature microbiology图表复现之基因丰度图


NC图表复现-ggplot2绘制漂亮阴影图


bubbleHeatmap优雅的展示代谢组数据


[会员专享] nature biotechnology图表复现高端个性化组合图


[完整版] R语言版基因家族分析课程


[会员专享] ggplot2优雅绘制分布棒棒糖图


[会员专享] circlize绘制复杂基因组图


ggplot2优雅绘制山脊图(进阶版)


[会员专享] imeta图表复现之相关性组合热图


[会员专享] NC图表复现之cirzlize绘制基因组图


[会员专享] NC图表复现之华夫热图


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