前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着nature学绘图之特殊主题热图

跟着nature学绘图之特殊主题热图

作者头像
R语言数据分析指南
发布2022-12-20 19:56:17
3500
发布2022-12-20 19:56:17
举报
文章被收录于专栏:R语言数据分析指南

❝本节来复现「nature medicine」上的一张图,此图也属于热图其主要就是左侧文本框的绘制,小编稍微写了一些代码不够完善有更高需求的可以在此基础上进行进一步的拓展;

原文

❝Data-driven identification of post-acute SARS-CoV-2 infection subphenotypes❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(readxl)
library(ggh4x)
library(grid)
library(cowplot)

数据清洗

代码语言:javascript
复制
df <- read_excel("41591_2022_2116_MOESM4_ESM.xlsx") %>%
  pivot_longer(-c(ID,group))

定义因子

代码语言:javascript
复制
df$ID <- factor(df$ID,levels = df$ID %>% unique() %>% rev())

数据可视化

此处主要使用了ggh4x包中的一些参数来进行细节的调整

代码语言:javascript
复制
df %>% 
  ggplot(aes(name,ID))+
  geom_tile(color="grey70",fill="white",size=0.3)+
  geom_point(data=df %>% filter(value > 0.08),
             aes(size=abs(value),color=value),shape=15,size=6)+
  scale_color_gradient2(low="grey",mid="grey",high="black")+
  facet_grid2(vars(group),scale="free_y",switch = "y",
              labeller = label_wrap_gen())+
              # 定义分面列宽与行高
  force_panelsizes(cols=c(1.5),rows = c(0.55,0.15,1,0.15,0.9,1.2,0.55,0.15,0.15,0.15),
                   respect = TRUE)+
  scale_y_discrete(expand=c(0,0),position = 'left')+
  scale_x_discrete(expand=c(0,0),position = 'top')+
  labs(x=NULL,y=NULL)+
  theme(panel.background = element_blank(),
        axis.text.x = element_text(color="black",size=8),
        axis.text.y=element_text(color="black"),
        legend.title = element_blank(),
        axis.ticks = element_blank(),
        strip.placement = 'outside',
        strip.text.y.left = element_text(size=8,color="black",face = "bold",angle = 0),
        panel.spacing.y = unit(0,"cm"))+
  guides(color=guide_colorbar(direction = "vertical",
                              reverse=F,barwidth=unit(.5,"cm"),
                              barheight=unit(21,"cm")))+
  coord_cartesian(clip='off')
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文
  • 加载R包
  • 数据清洗
  • 定义因子
  • 数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档