首先是示例数据
image.png
使用R语言的ggplot2做一个热图
代码语言:javascript复制#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轴的上下空白
代码语言:javascript复制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
增加下方的空白
代码语言:javascript复制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()
就可以了
这个有啥用,其中一个用途是画环状热图的时候可以增加中间的空白区域
比如默认环状热图
代码语言:javascript复制ggplot(data=df,aes(x=gene_name,y=variable))
geom_tile(aes(fill=value))
coord_polar()
scale_fill_social_c()
theme_void()
image.png
设置中心空白
代码语言:javascript复制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
增加开口
代码语言:javascript复制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、生物信息学入门学习资料及自己的学习笔记!