前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2自定义离散型热图图例

ggplot2自定义离散型热图图例

作者头像
R语言数据分析指南
发布2024-02-22 11:37:06
2170
发布2024-02-22 11:37:06
举报
文章被收录于专栏:R语言数据分析指南

本节来介绍ggplot2绘制中图例设置方面的问题,通过一个热图的案例进行阐述。整个过程仅参考,希望对各位观众老爷能有所帮助。

ggplot2中的图例体系

❝在ggplot2中针对图例的自定义设置可通过guide与guides函数来完成,二者虽只有一字之差具体参数上也基本一致,但是使用时却也有些许不同。 ❞

guide函数作为scale_类函数中的一个内函数,通常配合比例尺函数一起使用,但是由于取其内含有众多的参数,因此在比例尺中使用则会显得代码比较臃肿,因此小编比较推荐单独使用guides函数来进行图例自定义。

「guides函数中常使用的主要有 guide_legend 和 guide_colourba」两类

  • guide_legend:用于定义离散型数据图例
  • guide_colourba:用于定义连续型数据图例

❝因此在使用前需针对图例所对应的几何对象来选择正确的函数,同时在实际绘图过程中图例绘制还存在一种情况,即数据为连续型但是在绘制图例将其定义为离散型。针对这种情况上方所列的两个函数就无法实现。这时就可使用「guide_colorsteps」函数来实现,该函数可将区域显示为单一恒定颜色,而不是从颜色条对应项中已知的渐变。下面就通过此函数来自定义设置图例 ❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(MetBrewer)

df <- read_tsv("data.tsv") %>% drop_na() %>% 
  pivot_longer(-gene)

df$gene <- factor(df$gene,levels = df$gene %>% unique() %>% rev())
  
df %>% 
  ggplot(.,aes(name,gene,color=value,fill=value))+
  geom_tile(color="black")+
  scale_x_discrete(expand=c(0,0),position = 'top')+
  scale_y_discrete(expand=c(0,0))+
  scale_fill_gradientn(colors=met.brewer("Cassatt1"))+
  labs(x=NULL,y=NULL) +
  theme(axis.text.x=element_blank(),
        axis.text.y=element_text(color="black",size=8,face="italic"),
        axis.ticks.x=element_blank(),
        axis.ticks.y=element_blank(),
        panel.background = element_blank(),
        plot.background = element_blank(),
        legend.spacing.x = unit(0.1,"cm"),
        panel.spacing.x =unit(0.01,"cm"),
        panel.border=element_rect(fill=NA,color="black",size=0.5,linetype="solid"),
        plot.margin=unit(c(0.2,0.2,0.2,0.2),units="cm"))+
        # title.position 设置图例标题位置
  guides(fill = guide_colorsteps(title.position = "top",
         show.limits = TRUE), # 显示了数据的最小值和最大值
         color="none") # 剔除颜色图例
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ggplot2中的图例体系
  • 加载R包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档