是否有可能/如何将y标签放在热图单元格的边缘?

问题描述 投票:0回答:1

我使用函数heatmap.2在R中创建一个热图,时间帧为“0-3”,“4-7”......作为行名。在描述它的时间范围时有点难以解释,因为时间范围实际应该是0:00-3:59,4:00-7:59 ..

那么可以将“00:00”,“04:00”,“08:00”作为每个行单元格之间的y轴标签吗?

我查看了“heatmap.2”的帮助页面,找不到解决方案。

这是我有enter image description here的情节

r heatmap
1个回答
0
投票

“那么可以将”00:00“,”04:00“,”08:00“......作为每个行单元格之间的y轴标签吗?”不,我不认为这是可能的;这也没有多大意义,因为热图显示了网格状布局中不同类别的数值数据。这里强调类别(如分类数据),因此在行(或列)单元格之间显示数值并不重要。

除此之外,您可以使用labRow(或labCol)轻松地重新标记行(或列)标签;由于您不提供样本数据,因此这里是可重复的示例

# Generate sample data
set.seed(2018)
mat <- matrix(rnorm(7 * 6), nrow = 6, ncol = 7)
colnames(mat) <- c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
rownames(mat) <- c("1-4", "5-8", "9-12", "13-16", "17-20", "21-24")

显示热图

library(gplots)
rowlabels <- c("0:00-3:59", "4:00-7:59", "8:00-11.59", "12:00-15.59", "16:00-19:59", "20:00-23:59")
heatmap.2(
    mat,
    Rowv = NULL, Colv = NULL,
    trace = "none", dendrogram = "none",
    labRow = rowlabels,
    margins = c(10, 10))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.