一、RHeatmap函数概述
RHeatmap 是 R 语言中非常强大的一个数据可视化函数,它可以用来呈现二维表格数据的颜色变化,方便我们快速识别数据的变化趋势。它还支持多种颜色方案、标注和缩放、填色样式、字体和位置等自定义功能,可以满足不同的绘图要求。
下面是 RHeatmap 函数的基本语法:
RHeatmap(x, row_labels = NULL, col_labels = NULL, col = “Blues”, scale = “row”, na_color = “grey”, annotation = NULL, show_colnames = TRUE, show_rownames = TRUE, fontsize_row = 12, fontsize_col = 12, fontsize_val = 10, cellwidth = 50, cellheight = 50, margin_left = 100, margin_bottom = 100, legend = TRUE, legend_title = “”, legend_position = “topright”)
其中,参数 x 表示输入的二维表格数据,row_labels 和 col_labels 表示行列标签(可选),col 表示填充颜色方案,默认是蓝色(Blues),scale 用于调整颜色映射的比例尺,na_color 表示缺失值的颜色,默认为灰色。
annotation 参数用于添加注释,show_colnames 和 show_rownames 分别表示是否显示列名和行名,fontsize_row、fontsize_col 和 fontsize_val 分别表示行名、列名和数值的字体大小,cellwidth 和 cellheight 表示每个单元格的宽度和高度。
margin_left 和 margin_bottom 表示图形的左边和底部的空白区域大小,legend 表示是否显示颜色图例,legend_title 表示颜色图例的标题,legend_position 表示颜色图例的位置。
二、RHeatmap函数使用示例
下面我们通过一个实际数据来演示 RHeatmap 函数的使用方法:
首先,我们需要准备一份包含数据的文件,这里我们使用 R 语言自带的mtcars数据集。
mtcars[, ] #查看数据集
输出的结果为:
mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 ...
然后我们使用 RHeatmap 函数对数据集进行可视化,以下是代码:
library(RColorBrewer) library(gplots) RHeatmap(mtcars[, 1:4], col = colorRampPalette(rev(brewer.pal(11, "RdYlBu")))(100), scale = "row", show_colnames = FALSE, show_rownames = FALSE, cellwidth = 40, cellheight = 40, margin_left = 150, margin_bottom = 150, legend_title = "Miles per gallon", legend_position = "right")
在这段代码中,我们使用了 colorRampPalette 和 brewer.pal 函数来设置颜色方案,并将其传递给 col 参数。我们还设置了 scale 为“row”,将行之间的数据进行标准化处理,以便更好的显示变化趋势。
我们还取消了行和列的标签、设置了每个单元格的大小和空白区域大小,并将图例放在右侧显示,以便更好的控制。
最终实现效果是:
三、自定义RHeatmap函数
除了使用默认的 RHeatmap 函数,我们还可以根据自己的需求编写定制化的 RHeatmap 函数。这里我们以调整颜色方案为例,给出一个自定义函数 ColorfulHeatmap,代码如下:
ColorfulHeatmap <- function(data, colors) { data_colors <- sapply(data, function(x) { colorRampPalette(colors)(length(unique(x)))[as.numeric(factor(x))] }) heatmap.2(as.matrix(data), col = data_colors, trace = "none", dendrogram = "none", Rowv = FALSE, Colv = FALSE, key = TRUE, symkey = FALSE, density.info = "none", main = "", xlab = "", ylab = "") }
这个自定义函数的功能是将输入的数据按照指定的颜色方案进行着色。
我们可以用下面的代码来调用自定义函数 ColorfulHeatmap,对数据进行可视化:
data <- matrix(rnorm(1000), nrow=10, ncol=100) colors <- colorRampPalette(c("darkblue", "red"))(10) ColorfulHeatmap(data, colors)
在这段代码中,我们生成了一个包含10行100列的随机矩阵,并生成了10种颜色。
最后的效果如下:
四、总结
RHeatmap 是 R 语言中非常强大的一个数据可视化函数,它可以用来呈现二维表格数据的颜色变化,方便我们快速识别数据的变化趋势。它还支持多种颜色方案、标注和缩放、填色样式、字体和位置等自定义功能,可以满足不同的绘图要求。
我们在这篇文章中对 RHeatmap 函数进行了详细介绍,并给出了使用示例和自定义函数示例,希望能够帮助大家更好的使用和理解 RHeatmap 函数。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/293066.html