是否可以/如何在热图单元的边缘放置y标签?

时间:2019-03-18 00:48:11

标签: r heatmap

我正在使用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

1 个答案:

答案 0 :(得分: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