【R】热图绘制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【R】热图绘制相关的知识,希望对你有一定的参考价值。
参考技术A theme: 是处理图美观的一个函数,可以调整横纵轴 label 的选择、图例的位置等。这里选择 X 轴标签 45 度。
hjust 和 vjust 调整标签的相对位置,
具体见下图。
简单说,hjust 是水平的对齐方式,0 为左,1 为右,0.5 居中,0-1 之间可以取任意值。
vjust 是垂直对齐方式,0 底对齐,1 为顶对齐,0.5 居中,0-1 之间可以取任意值。
legend.position, 可以接受的值有 top, bottom, left, right, 和一个坐标 c(0.05,0.8) (左上角,坐标是相对于图的左下角 (即原点) 计算的)
为了更好的可视化效果,需要对数据做些预处理,主要有 对数转换,Z-score 转换,抹去异常值,非线性颜色等方式。
Z-score 又称为标准分数,是一组数中的每个数减去这一组数的平均值再除以这一组数的标准差,代表的是原始分数距离原始平均值的距离,以标准差为单位。可以对不同分布的各原始分数进行比较,用来反映数据的相对变化趋势,而非绝对变化量。
正常来讲,颜色的赋予在最小值到最大值之间是均匀分布的。如果最小值到最大值之间用 100 个颜色区分,则其中每一个 bin,不论其大小、有没有值都会赋予一个颜色。非线性颜色则是对数据比较小但密集的地方赋予更多颜色,数据大但分布散的地方赋予更少颜色,这样既能加大区分度,又最小的影响原始数值。通常可以根据数据模式,手动设置颜色区间。为了方便自动化处理,也可选择用四分位数的方式设置颜色区间。
如果想保持图中每一行的顺序与输入的数据框一致,需要设置因子的水平。这也是 ggplot2 中调整图例或横纵轴字符顺序的常用方式。
绘制热图除了使用 ggplot2,还可以有其它的包或函数,比如 pheatmap::pheatmap (pheatmap 包中的 pheatmap函数)、gplots::heatmap.2 等。
相比于 ggplot2 作 heatmap, pheatmap 会更为简单一些,一个函数设置不同的参数,可以完成行列聚类、行列注释、Z-score 计算、颜色自定义等。
给矩阵的行和列进行分组注释
以上是关于【R】热图绘制的主要内容,如果未能解决你的问题,请参考以下文章