首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ggplot2优雅的绘制配对连线云雨图

ggplot2优雅的绘制配对连线云雨图

作者头像
R语言数据分析指南
发布于 2022-12-20 12:06:35
发布于 2022-12-20 12:06:35
1K00
代码可运行
举报
运行总次数:0
代码可运行

❝本节来介绍如何使用ggplot2绘制配对连线云雨图,图形倒也简单主要是细节;小编给了两个案例来进行展示,有循环绘图需求的可以看最后一个案例;❞

加载R包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
library(ggsignif)
library(gghalves)
library(ggsci)

数据清洗

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- read_tsv("data.xls") %>%  
  filter(year %in% c(1957,2007),continent !="Oceania") %>% 
  select(country,year,lifeExp,continent)%>%
  mutate(paired = rep(1:(n()/2),each=2),year=factor(year))

数据可视化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df %>%
  ggplot(aes(year,lifeExp))+
  geom_half_violin(aes(split=year),side=2,alpha = 0.8)+
  stat_boxplot(geom="errorbar",width=0.1)+
  geom_boxplot(width=0.2)+
  geom_line(aes(group=paired),color="grey80") +
  geom_point(aes(fill=year,group=paired,size=lifeExp,alpha=lifeExp),pch=21,
             position = position_dodge(0.2))+
  scale_size_continuous(range=c(1,3))+
  geom_signif(comparisons = list(c("1957","2007")),
              map_signif_level=T,vjust=0.5,color="black",
              textsize=5,test=wilcox.test,step_increase=0.1)+
  facet_wrap(.~continent,nrow=1)+
  scale_fill_npg()+
  scale_y_continuous(limits = c(0,90),minor_breaks = seq(0,90,5))+
  labs(x=NULL,y=NULL)+
  theme_test()+
  theme(plot.margin=unit(c(0.5,0.5,0.5,0.5),units=,"cm"),
        axis.line = element_line(color = "black",size = 0.4),
        panel.grid.minor = element_blank(),
        panel.grid.major = element_line(size = 0.2,color = "#e5e5e5"),
        axis.text.y = element_text(color="black",size=10),
        axis.text.x = element_text(margin = margin(t = 2),color="black",size=10),
        legend.position = "none",
        panel.spacing = unit(0,"lines"))+
  coord_cartesian()

❝上面的案例我们使用了分面的形式来绘制图,但是实际中大家也许需要使用循环进行批量绘图,下面介绍循环绘图的具体代码 ❞

循环绘图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
continents <- unique(df$continent)

plots <- map(continents, function(continent) {
  df %>% filter(continent == continent) %>%
    ggplot(aes(year,lifeExp))+
    geom_half_violin(aes(split=year),side=2,alpha = 0.8)+
    stat_boxplot(geom="errorbar",width=0.1)+
    geom_boxplot(width=0.2)+
    geom_line(aes(group=paired),color="grey80") +
    geom_point(aes(fill=year,group=paired,size=lifeExp,alpha=lifeExp),pch=21,
               position = position_dodge(0.2))+
    scale_size_continuous(range=c(1,3))+
    geom_signif(comparisons = list(c("1957","2007")),
                map_signif_level=T,vjust=0.5,color="black",
                textsize=5,test=wilcox.test,step_increase=0.1)+
    scale_fill_npg()+
    scale_y_continuous(limits = c(0,90),minor_breaks = seq(0,90,5))+
    labs(x=NULL,y=NULL)+theme_test()+
    theme(plot.margin=unit(c(0.5,0.5,0.5,0.5),units=,"cm"),
          axis.line = element_line(color = "black",size = 0.4),
          panel.grid.minor = element_blank(),
          panel.grid.major = element_line(size = 0.2,color = "#e5e5e5"),
          axis.text.y = element_text(color="black",size=10),
          axis.text.x = element_text(margin = margin(t = 2),color="black",size=10),
          legend.position = "none",panel.spacing = unit(0,"lines"))+
    coord_cartesian()
})

保存图片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map2(plots, continents, function(plot, continent) {
  ggsave(plot, filename = paste0("plot_", continent, ".pdf"))
})
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ggplot2优雅的绘制全能型箱线图
❝今天又遇到观众老爷提问如何给多组箱线图添加置信区间及P值与R值,想着可能其他朋友也有需求,那么就废话不多说直接开干,还是之前的绘图方案做了一些细微的改动,下面来看具体案例; ❞ 加载R包 library(tidyverse) library(gapminder) library(ggsci) library(ggprism) library(rstatix) library(ggpubr) library(ggpmisc) 数据清洗 df <- gapminder %>% filter(year
R语言数据分析指南
2022/09/21
1.2K0
ggplot2优雅的绘制全能型箱线图
ggplot2优雅的绘制多组配对箱线图
❝有个VIP群里的朋友今天问有没有绘制三组之间配对箱线图的代码,记得小编之前绘制过相关类型的图表,不过既然观众老爷有需求那就废话不多说直接开画;依然是以前的经典风格只不过此次在图上加上了统计分析,下面来看具体案例 加载R包 library(tidyverse) library(gapminder) library(ggsci) library(ggprism) library(rstatix) library(ggpubr) 数据清洗 df <- gapminder %>% filter(year
R语言数据分析指南
2022/09/21
4K0
ggplot2优雅的绘制多组配对箱线图
ggplot2优雅绘制半边箱线图
R语言数据分析指南
2024/04/28
3620
ggplot2优雅绘制半边箱线图
ggplot2再话箱线图之几何填充
❝VIP群里有观众老爷询问如何对箱线图进行几何形状填充,那么今天就来具体介绍一番;在原有的基础上做了一些小的改动也许恰好您正好有此特殊需求,需要着重体会八个字「变实为虚,变虚为实」,希望对各位观众老爷有所帮助;下面来看具体案例; ❞ 加载R包 library(tidyverse) library(ggsci) library(ggprism) library(rstatix) library(ggpubr) library(ggpmisc) library(ggpattern) 加载数据 gapminde
R语言数据分析指南
2022/09/21
4450
ggplot2再话箱线图之几何填充
ggplot2优雅的绘制配对气泡图
Step1. R包和数据加载、主题设置 测试数据在: 链接:https://pan.baidu.com/s/1MuMgMZZCcdO-IGS7_ysfkQ?pwd=1234 提取码:1234 libr
生信菜鸟团
2023/08/23
6150
ggplot2优雅的绘制配对气泡图
ggplot2轻松绘制误差线点图与箱线图
R语言数据分析指南
2023/08/18
6020
ggplot2轻松绘制误差线点图与箱线图
ggplot2优雅的拆分堆砌条形图
❝本节来介绍如何「对堆砌条形图来进行图形拆分」; 加载R包 library(tidyverse) library(patchwork) 定义主题 theme_niwot <- function(){ theme_minimal()+ theme(axis.text = element_text(color = "black",size = 6), strip.text = element_text(color = "black",hjust = 0,
R语言数据分析指南
2022/09/21
6330
ggplot2优雅的拆分堆砌条形图
[会员专享] ggplot2组合绘制相关性箱线图
R语言数据分析指南
2023/08/18
4280
[会员专享] ggplot2组合绘制相关性箱线图
ggplot2优雅的进行批量绘图-多版本代码
2024更新的绘图内容同时包含数据+代码+markdown注释文档+文档清单,「小编只分享案例文档不额外回答问题无答疑问。」
R语言数据分析指南
2024/06/18
3280
ggplot2优雅的进行批量绘图-多版本代码
[NC图表复现] ggplot2绘制分裂小提琴图
R语言数据分析指南
2024/01/17
4430
[NC图表复现] ggplot2绘制分裂小提琴图
跟着nature microbiology学绘图-多元素注释小提琴图
R语言数据分析指南
2024/03/11
2290
跟着nature microbiology学绘图-多元素注释小提琴图
ggplot2添加躺平版P_value
❝今天来主要介绍如何在常见的箱线图基础上水平添加显著性标记,也许恰好您正好有此特殊需求,希望对各位观众老爷有所帮助;下面来看具体案例; ❞ 加载R包 library(tidyverse) library(rstatix) library(ggprism) library(ggpubr) 定义主题 theme_niwot <- function(){ theme_test() + theme(axis.title.x = element_blank(), axis.line
R语言数据分析指南
2022/09/21
6140
ggplot2添加躺平版P_value
ggplot2绘制美美的面积图
❝本节来介绍如何对常见的柱状图稍加改造绘制成一张美观的面积图,下面通过一个小例子来进行展示; 加载R包 library(tidyverse) library(ggtext) 导入数据 df <- read_tsv("data.xls") 数据筛选 ❝此处根据关键词将数据分为上下两个部分 ❞ wet_df <- df %>% filter(str_starts(code, 'W')) %>% mutate(mean_probability = mean_probability *
R语言数据分析指南
2022/09/21
5030
ggplot2绘制美美的面积图
ggplot2优雅的给图像添加阴影
❝本周「VIP群」有个朋友询问下面这张图的绘制方法,需要对两组数据做统计分析并且只给差异显著的添加阴影背景,那么肯定是要全部通过代码来自动实现这些需求;即然观众老爷有需求那小编就来详细拆解一下这张图的代码,下面来看具体案例 ❞ 加载R包 library(tidyverse) library(rstatix) library(ggpubr) library(GGally) library(ggsci) 导入数据 df <- read_csv("easy_input.csv") ❝由于要根据显著性来添
R语言数据分析指南
2022/09/21
1.3K0
ggplot2优雅的给图像添加阴影
跟着nature communications学绘图(9) ggplot2绘制误差线点图
❝本节来进行论文图表的复现;通过ggplot2绘制误差线点图 加载R包 library(tidyverse) library(ggprism) library(ggsci) 数据清洗 df <- read_tsv("F1-b.txt") %>% pivot_longer(-c(type,time)) %>% select(-name) %>% group_by(type,time) %>% summarise(value_mean=mean(value),sd=sd(value),
R语言数据分析指南
2022/09/21
5290
跟着nature communications学绘图(9) ggplot2绘制误差线点图
ggplot2优雅绘制时间序列热图
R语言数据分析指南
2024/01/10
4460
ggplot2优雅绘制时间序列热图
R优雅的进行统计分析(2)自定义添加统计信息
❝本节来介绍如何使用R语言来做统计分析,通过「rstatix」包进行统计检验,完全使用tidyverse体系进行数据清洗及可视化,使用add_pvalue,stat_pvalue_manual两个函数来自定义添加p值 ❞ 加载R包 library(tidyverse) library(rstatix) library(ggprism) library(ggpubr) library(ggsci) 数据清洗 df <- ToothGrowth %>% mutate(dose=as.factor(d
R语言数据分析指南
2022/09/21
8710
R优雅的进行统计分析(2)自定义添加统计信息
ggplot2优雅的绘制镶嵌条形图
❝本节来介绍如何使用「ggplot2」来绘制镶嵌条形图,下面通过一个小例子来展示 ❞ 加载R包 library(tidyverse) library(camcorder) library(ggtext) 导入数据 incl_gen_2019 <- read_tsv("incl_gen_2019.xls") %>% mutate(OECD = rowMeans(select(., 3:last_col()))) %>% rename(provisions = 1) %>% add_r
R语言数据分析指南
2022/09/21
8230
ggplot2优雅的绘制镶嵌条形图
R优雅的进行统计分析(1) T_test
❝本节来介绍如何使用R语言来做数据统计分析,通过「rstati」包进行t-test,完全使用tidyverse体系进行数据清洗及可视化 ❞ 安装并加载R包 package.list=c("tidyverse","rstatix","ggtext") for (package in package.list) { if (!require(package,character.only=T, quietly=T)) { install.packages(package) library(
R语言数据分析指南
2022/09/21
5750
R优雅的进行统计分析(1) T_test
ggplot2优雅绘制时间趋势变化散点图
❝本节来介绍一个小案例,如何绘制趋势变化散点图,数据主要展示世界主要国家近70年间GDP收入与lifeExp之间的关系,通过时间趋势的变化来更加直观的查看结果。 加载R包 library(tidyverse) library(scales) library(camcorder) library(shadowtext) library(ggh4x) 数据清洗 df <- read_tsv("data.xls") %>% # 由于海湾战争的缘故Kuwait的数据比较异常因此在此剔除 filter(cou
R语言数据分析指南
2022/12/20
7350
ggplot2优雅绘制时间趋势变化散点图
相关推荐
ggplot2优雅的绘制全能型箱线图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验