superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)

1写在前面

画热图一直是一件既简单又复杂的事情,想画个普通的热图还是挺简单的,但是复杂热图就要费事的多了。

之前一直使用的complexheatmap,还是比较好用的,但是最近发现了一个更简单的解决方案,superheat

详细介绍下这个包吧,大家用起来哦。


今天的BGMShane NicholsonSummer Dress,夏日快乐,各位!~‍♂️

2用到的包

# devtools::install_github("rlbarter/superheat")
library(superheat)
library(tidyverse)

3示例数据

data("mtcars")

DT::datatable(mtcars)
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第1张图片

4基础绘图

superheat(mtcars, 
# labels 参数
left.label.size = 0.4,
bottom.label.size = 0.1,
# scale 参数
scale = T)
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第2张图片

5对行和列进行排序

5.1 自动排序

需要注意的是,当当矩阵有缺失值时,可能会出现错误。

superheat(mtcars,
pretty.order.rows = T,
pretty.order.cols = T,
scale = T)
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第3张图片

5.2 指定列或行的顺序

这里我们试着制定行按照示例数据中的mpg排列。

superheat(mtcars,
order.rows = order(mtcars$mpg),
scale = T)
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第4张图片

6配色

supherheat中,默认配色是viridis,我个人觉得还是蛮不错的。

6.1 配色示例一

我们试试red主题。

superheat(mtcars,
scale = T,
heat.col.scheme = "red")
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第5张图片

6.2 配色示例二

我们试着调一下经典低中高三色配色吧。

superheat(mtcars,
scale = T,
heat.pal = c("#b35806", "white", "#542788"))
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第6张图片

6.3 颜色限制

这里可以使用heat.lim参数定义颜色图的最小值和最大值。

比如说,如果我只想显示从-12的值,那么我会设置heat.lim = c(-1, 2)

这样的话范围之外的每个值都将显示为缺失。

superheat(mtcars,
scale = T,
heat.lim = c(-1, 2))
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第7张图片

6.4 极值的处理

如果希望将heat.lim范围之外的值显示为范围内的最大/最小颜色(而不是作为NA),那么可以指定参数extreme.values.na = FALSE

superheat(mtcars,
scale = T,
heat.lim = c(-1, 2),
extreme.values.na = F)
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第8张图片

7缺失值颜色

7.1 制造NA

mtcars.missing <- mtcars
mtcars.missing[sample(1:nrow(mtcars), 5),
sample(1:ncol(mtcars), 5)] <- NA

7.2 更改NA颜色

我们试着把缺失值改成白色。

superheat(mtcars.missing,
scale = T,
heat.na.col = "white")
superheat | 超级简单的热图绘制解决方案!~(手把手教学~)(一)_第9张图片
alt
最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

往期精彩

LASSO | 不来看看怎么美化你的LASSO结果吗!?
chatPDF | 别再自己读文献了!让chatGPT来帮你读吧!~
WGCNA | 值得你深入学习的生信分析方法!~
ComplexHeatmap | 颜狗写的高颜值热图代码!
ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
scRNA-seq | 吐血整理的单细胞入门教程
NetworkD3 | 让我们一起画个动态的桑基图吧~
RColorBrewer | 再多的配色也能轻松搞定!~
rms | 批量完成你的线性回归
CMplot | 完美复刻Nature上的曼哈顿图
Network | 高颜值动态网络可视化工具
boxjitter | 完美复刻Nature上的高颜值统计图
linkET | 完美解决ggcor安装失败方案(附教程)
......

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)