R语言ggplot2作图离散变量更改坐标轴范围

首先是示例数据
image.png
使用R语言的ggplot2做一个热图
#install.packages("see")
df<-read.csv("20210809_example.csv")
library(ggplot2)
library(see)
ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  scale_fill_social_c()
image.png
增加y轴的上下空白
ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  scale_fill_social_c()+
  scale_y_discrete(expand=expansion(mult=1))
image.png
增加下方的空白
ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  scale_fill_social_c()+
  scale_y_discrete(expand=expansion(mult=c(1,0)))
image.png

如果是要更改x轴左右的间距把scale_y_discrete()换成scale_x_discrete()就可以了

这个有啥用,其中一个用途是画环状热图的时候可以增加中间的空白区域

比如默认环状热图

ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  coord_polar()+
  scale_fill_social_c()+
  theme_void()
image.png

设置中心空白

ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  coord_polar()+
  scale_fill_social_c()+
  theme_void()+
  scale_y_discrete(expand=expansion(mult=c(1,0)))
image.png

增加开口

ggplot(data=df,aes(x=gene_name,y=variable))+
  geom_tile(aes(fill=value))+
  coord_polar()+
  scale_fill_social_c()+
  theme_void()+
  scale_y_discrete(expand=expansion(mult=c(1,0)))+
  scale_x_discrete(expand=expansion(mult=c(0,0.2)))
image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

你可能感兴趣的:(R语言ggplot2作图离散变量更改坐标轴范围)