画热图一直是一件既简单又复杂的事情,想画个普通的热图还是挺简单的,但是复杂热图就要费事的多了。
之前一直使用的complexheatmap
,还是比较好用的,但是最近发现了一个更简单的解决方案,superheat
。
详细介绍下这个包吧,大家用起来哦。
今天的BGM
是Shane Nicholson
的Summer Dress
,夏日快乐,各位!~♂️
# devtools::install_github("rlbarter/superheat")
library(superheat)
library(tidyverse)
data("mtcars")
DT::datatable(mtcars)
superheat(mtcars,
# labels 参数
left.label.size = 0.4,
bottom.label.size = 0.1,
# scale 参数
scale = T)
需要注意的是,当当矩阵有缺失值时,可能会出现错误。
superheat(mtcars,
pretty.order.rows = T,
pretty.order.cols = T,
scale = T)
这里我们试着制定行按照示例数据中的mpg
排列。
superheat(mtcars,
order.rows = order(mtcars$mpg),
scale = T)
在supherheat
中,默认配色是viridis
,我个人觉得还是蛮不错的。
我们试试red
主题。
superheat(mtcars,
scale = T,
heat.col.scheme = "red")
我们试着调一下经典低中高
三色配色吧。
superheat(mtcars,
scale = T,
heat.pal = c("#b35806", "white", "#542788"))
这里可以使用heat.lim
参数定义颜色图的最小值和最大值。
比如说,如果我只想显示从-1
到2
的值,那么我会设置heat.lim = c(-1, 2)
。
这样的话范围之外的每个值都将显示为缺失。
superheat(mtcars,
scale = T,
heat.lim = c(-1, 2))
如果希望将heat.lim
范围之外的值显示为范围内的最大/最小颜色
(而不是作为NA
),那么可以指定参数extreme.values.na = FALSE
。
superheat(mtcars,
scale = T,
heat.lim = c(-1, 2),
extreme.values.na = F)
mtcars.missing <- mtcars
mtcars.missing[sample(1:nrow(mtcars), 5),
sample(1:ncol(mtcars), 5)] <- NA
我们试着把缺失值改成白色。
superheat(mtcars.missing,
scale = T,
heat.na.col = "white")
点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰
LASSO | 不来看看怎么美化你的LASSO结果吗!?
chatPDF | 别再自己读文献了!让chatGPT来帮你读吧!~
WGCNA | 值得你深入学习的生信分析方法!~
ComplexHeatmap | 颜狗写的高颜值热图代码!
ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
scRNA-seq | 吐血整理的单细胞入门教程
NetworkD3 | 让我们一起画个动态的桑基图吧~
RColorBrewer | 再多的配色也能轻松搞定!~
rms | 批量完成你的线性回归
CMplot | 完美复刻Nature上的曼哈顿图
Network | 高颜值动态网络可视化工具
boxjitter | 完美复刻Nature上的高颜值统计图
linkET | 完美解决ggcor安装失败方案(附教程)
......
本文由 mdnice 多平台发布