R | 可视化 | 热图(Heatmap)

1 基础绘制

R绘制热图时,数据需要输入一个矩阵,可以用as.matrix()把它转换成矩阵。这里利用R自带的数据集绘制热图。

> # 数据
> data <- as.matrix(mtcars)
> 
> # 绘制热图
> heatmap(data)

OUTPUT:

R | 可视化 | 热图(Heatmap)_第1张图片

热图的每一列是一个变量,每一行是一个观察值,每个方块是一个值,越接近黄色越高。

t(data)可以对矩阵进行转置,交换热图的X和Y轴。

2 正态化

# 正态化
> heatmap(data, scale="column")

OUTPUT:

R | 可视化 | 热图(Heatmap)_第2张图片

 3 取消树状图与排序

heatmap()使用聚类算法对变量和观测值进行了重新排序,与原mtcar矩阵相比,行和列的顺序都是不同的。

此外,如果要取消热图旁边相应的树状图,可以使用Rowv和Colv参数,如下所示。

> heatmap(data, Colv = NA, Rowv = NA, scale="column")

OUTPUT:

R | 可视化 | 热图(Heatmap)_第3张图片

4 改变颜色

有多种方式可以改变热图颜色,如cm.colors(),terrain.color(),RColorBrewer等等

> heatmap(data, scale="column", col = terrain.colors(256))

OUTPUT:

R | 可视化 | 热图(Heatmap)_第4张图片

 5 自定义

可以用main和xlab/ylab参数来设置标题和轴标题;也可以用labRow/colRow改变标签,用cexRow/cexCol改变标签的大小;还可以使用RowSideColors参数在heatmap旁边添加一个颜色矢量来表示预期结构,将观察到的结构与预期结构进行比较。

# 设置轴名和标题
> heatmap(data, col = coul, xlab="variable", ylab="car", main="Heatmap")

OUTPUT:

R | 可视化 | 热图(Heatmap)_第5张图片

> heatmap(data, scale="column", cexRow=0.8, labRow=paste("new_", rownames(data),sep=""), col= colorRampPalette(brewer.pal(3, "Blues"))(30))

OUTPUT:

R | 可视化 | 热图(Heatmap)_第6张图片

> heatmap(data, Colv = NA, Rowv = NA, scale="column" , RowSideColors=colSide, col=colMain)

OUTPUT:

R | 可视化 | 热图(Heatmap)_第7张图片

你可能感兴趣的:(R语言与统计,r语言,数据可视化,矩阵)