前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ggplot2优雅的绘制车轱辘图

ggplot2优雅的绘制车轱辘图

作者头像
R语言数据分析指南
发布于 2022-09-21 06:32:00
发布于 2022-09-21 06:32:00
27000
代码可运行
举报
运行总次数:0
代码可运行

❝之前在一篇论文里面看到一张特殊的组合饼图感觉很不错,下面来构建数据进行复现,来看具体案例❞

加载R包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
library(scales)
library(ggtext)
library(patchwork)
library(cowplot)
library(RColorBrewer)

定义颜色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mycolors <- colorRampPalette(brewer.pal(12,"Paired"))(21)

构建数据集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- tribble(~group,~value,
        "A", 40,
        "B",60)

Figure-1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p1 <- df %>% arrange(desc(value)) %>% 
  ggplot(.,aes(x="",y=value,fill=group))+
  geom_bar(width=1,stat="identity")+
  coord_polar("y",start=0)+
  geom_text(aes(y = value/2 + c(0, cumsum(value)[-length(value)]), 
                label = percent(value/100)), size=4)+
  scale_fill_manual(values = mycolors)+
  theme(axis.text.x=element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        panel.border = element_blank(),
        panel.grid=element_blank(),
        axis.ticks = element_blank(),
        panel.background = element_blank(),
        legend.position = "none",
        legend.title = element_blank(),
        legend.text = element_text(color="black",size=9), 
        legend.spacing.x=unit(0.1,'cm'),
        legend.key.width=unit(0.5,'cm'),
        legend.key.height=unit(0.5,'cm'), 
        legend.background=element_blank())

数据清洗

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df2 <- read_tsv("otu_taxa_table.xls") %>% 
  select(OTU:C5,taxonomy) %>% 
  separate(taxonomy,
           into=c("domain","phylum","class","order","family","genus","species"),sep=";") %>% 
  mutate_at(vars(c(`domain`:`species`)),~str_split(.,"__",simplify=TRUE)[,2]) %>% 
  select(A1:C5,genus) %>% drop_na() %>% 
  group_by(genus) %>%  filter(genus !="") %>%  
  count() %>% ungroup() %>% mutate(value=n/sum(n)) %>% arrange(desc(value)) %>%
  mutate(group=case_when(value <  0.0088999644 ~ "others",
                         TRUE ~ as.character(genus))) %>% 
  group_by(group) %>% summarise(value=sum(value)) %>% arrange(desc(value))

df2$group <- factor(df2$group,levels = df2$group)

Figure-2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p2 <- df2 %>% ggplot(.,aes(x="",y=value,fill=group))+
  geom_bar(width=1,stat="identity")+
  coord_polar("y",start=0)+
  scale_fill_manual(values = mycolors)+
  theme(axis.text.x=element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        panel.border = element_blank(),
        panel.grid=element_blank(),
        axis.ticks = element_blank(),
        panel.background = element_blank(),
        legend.position = "none",
        legend.title = element_blank(),
        plot.margin=unit(c(0,13,0,0),units="cm"),
        legend.text = element_text(color="black",size=9), 
        legend.spacing.x=unit(0.1,'cm'),
        legend.key.width=unit(0.5,'cm'),
        legend.key.height=unit(0.5,'cm'), 
        legend.background=element_blank())

拼图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p2 %>% ggdraw()+draw_plot(p1,scale=0.4,x=0.38,y=0)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
R中优雅的绘制物种冲积图
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的除系列课程外的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询。
R语言数据分析指南
2023/06/12
8650
R中优雅的绘制物种冲积图
ggplot2优雅的绘制森林图
❝本节来介绍如何使用ggplot2来绘制森林图,下面通过一个小例子来进行展示 ❞ 加载R包 library(tidyverse) 导入数据 unicox <- read_csv("AKT3_mRNA_OS_pancan_unicox.csv") 绘制森林图 p1 <- ggplot(unicox,aes(HR_log, cancer, col=Type))+ geom_point(aes(size=-log10(p.value)))+ geom_errorbarh(aes(xmax =u
R语言数据分析指南
2022/09/21
1.5K0
ggplot2优雅的绘制森林图
ggplot2优雅对并排条形图添加显著性标记
❝本节来介绍如何使用「rstatix」来进行统计分析,并使用「ggpubr」来添加显著性标记,下面通过一个小例子来进行展示;本次使用R内置数据集; 加载R包 library(tidyverse) library(rstatix) library(ggpubr) 统计分析 stat.test <- iris %>% pivot_longer(-Species) %>% filter(Species !="versicolor") %>% mutate(group=str_sub(na
R语言数据分析指南
2022/09/21
1.6K0
ggplot2优雅对并排条形图添加显著性标记
ggplot2优雅绘制多组旭日图
有需要学习数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」下单购买,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码。购买会员文档后微信发小编订单号即邀请进新的会员交流群。
R语言数据分析指南
2024/03/20
5220
ggplot2优雅绘制多组旭日图
ggplot2绘制趋势变化堆砌条形图
❝本节来介绍一个小案例,如何根据某数值来对堆砌条形图数据的趋势变化进行排序, 下面小编就通过一个具体案例来介绍如何处理; 加载R包 library(tidyverse) 构建数据 df = data.frame() df = data.frame(matrix(df, nrow=200, ncol=2)) colnames(df) <- c("cluster", "name") df$cluster <- sample(20, size = nrow(df), replace = TRUE) df$fru
R语言数据分析指南
2022/12/20
5840
ggplot2绘制趋势变化堆砌条形图
[NC图表复现] ggplot2绘制分裂小提琴图
R语言数据分析指南
2024/01/17
3820
[NC图表复现] ggplot2绘制分裂小提琴图
ggplot2轻松绘制误差线点图与箱线图
R语言数据分析指南
2023/08/18
5330
ggplot2轻松绘制误差线点图与箱线图
ggplot2优雅绘制环状华夫图
❝本节来介绍如何只使用「geom_segment」函数来绘制环状华夫图,这个名称也许更符合示例图表,「数据代码已经上传VIP群,请自行下载」 ❞ 加载R包 library(tidyverse) library(ggtext) 导入数据 df <- read_tsv("data.xls") %>% mutate(count =as.factor(EDA_count)) labels <- tibble(x = 0,y = 1:5, text = c("A", "B","C","D","E")) 数
R语言数据分析指南
2022/09/23
3120
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
4740
跟着nature communications学绘图(9) ggplot2绘制误差线点图
跟着nature communications学绘图之小提琴图添加显著性标记
❝本节来继续进行数据复现绘制小提琴图并添加显著性标记,下面通过一个小例子来进行展示; ❝A highly conserved core bacterial microbiota with nitrogen-fixation capacity inhabits the xylem sap in maize plants ❞ 往期内容 加载R包 library(tidyverse) library(magrittr) 定义颜色 col=c("#1F78B4","#33A02C","#FB9A99","#
R语言数据分析指南
2022/09/21
1.2K0
跟着nature communications学绘图之小提琴图添加显著性标记
ggplot2绘制方差分析条图叠加散点图
R语言数据分析指南
2023/11/13
4660
ggplot2绘制方差分析条图叠加散点图
ggplot2优雅的自定义轴文本颜色
❝今天来主要介绍如何在不引入外部几何对象的前提下在图形的原有的基础上「自定义修改轴文本颜色」,也许恰好您正好有此特殊需求,希望对各位观众老爷有所帮助;下面来看具体案例; ❞ 加载R包 library(tidyverse) 数据清洗 data1 <- mtcars %>% head(6) %>% mutate_if(is.numeric, function(x) x+10) %>% log10() %>% as.data.frame() %>% rownames_to_column("ty
R语言数据分析指南
2022/09/21
1.4K0
ggplot2优雅的自定义轴文本颜色
ggplot2构建误差线组图并添加组间显著性标记
R语言数据分析指南
2023/08/18
3520
ggplot2构建误差线组图并添加组间显著性标记
[GBD数据库挖掘] 13.ggplot2绘制风险因素图
R语言数据分析指南
2023/11/23
5370
[GBD数据库挖掘] 13.ggplot2绘制风险因素图
跟着Nature学绘图(7)随心所欲话热图
❝今天在帮朋友做数据分析的时候,由于基因数目比较多聚类后图非常臃肿,突然产生一个想法如何只对图形进行聚类但不显示聚类树,下面通过一个小例子来展示 ❞ 加载R包 主要使用ggdendro中的函数dendro_data来提取聚类标签 library(tidyverse) # install.packages("ggdendro") library(ggdendro) library(aplot) 导入数据 df <- read_tsv("data.xls") %>% column_to_rownam
R语言数据分析指南
2022/09/21
6540
跟着Nature学绘图(7)随心所欲话热图
R优雅的进行代谢组KEGG富集分析
安装R包 library(tidyverse) library(magrittr) library(clusterProfiler) 导入KEGG数据库注释文件 keggannotation <- read_tsv("pathway",col_names = F) %>% left_join(.,read_tsv('map.txt',col_names = F),by="X1") %>% select(-1) %>% set_colnames(c("pathway","ID")) %>%
R语言数据分析指南
2022/09/21
6.3K3
R优雅的进行代谢组KEGG富集分析
[GBD数据库挖掘2] ggplot2优雅的展示发病率
❝本节继续来进行GBD数据库的挖掘,小编在去年写过代码的基础上进行了更加精细的加工,各位观众老爷们细细品味,「数据代码已经上传VIP群,请自行下载」 加载R包 library(tidyverse) library(ggh4x) library(ggsci) library(magrittr) library(grid) 导入数据 df <- read_csv("liver_cancer.csv") 数据清洗 df1 <- df %>% select(measure,year,val,location,
R语言数据分析指南
2022/09/23
6660
[GBD数据库挖掘2] ggplot2优雅的展示发病率
文献组图
追风少年i
2025/01/07
640
文献组图
跟着Nature学绘图(6) PCA分析图表可视化
❝本节来继续进行论文图表复现,主要还是基于「ggplot2」来进行数据可视化 ❞ ❝近期系统整理了一下公众号所写过的一些经典文档,如果需要获取全部代码的欢迎加入小编的VIP交流群,「付费99元,周期一年」群内同步上传代码, 公众号右下角添加微信咨询即可 ❞ 以往案例 本节来复现文章中的Fig3-h 安装并加载R包 package.list=c("tidyverse","ggrepel","factoextra","RColorBrewer") for (package in package.
R语言数据分析指南
2022/09/21
5880
跟着Nature学绘图(6) PCA分析图表可视化
ggplot2优雅的绘制箭头表格图
R语言数据分析指南
2023/09/11
4500
ggplot2优雅的绘制箭头表格图
推荐阅读
相关推荐
R中优雅的绘制物种冲积图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验