【问题标题】:Make row labels italic in heatmap.2在heatmap.2中使行标签斜体
【发布时间】:2019-12-04 01:37:08
【问题描述】:

我正在尝试使用 R 函数 heatmap.2 将行标签设为斜体。没有默认选项,例如,我无法通过设置 par(font=3) 来解决问题。如何在heatmap.2 中将行标签设置为斜体?

set.seed(123)
data = matrix(sample(100), nrow=10, ncol=10)
rownames(data) = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")

library(gplots)

heatmap.2(data,
           Colv=TRUE,
           Rowv=TRUE,
           xlab=NA,
           ylab=NA)

【问题讨论】:

  • expression(italic()) 在这里工作。只需想办法将其潜入heatmap.2 函数中。
  • 不幸的是,这只会导致一行标记为:斜体(“B”)。有关如何将其潜入 heatmap.2 的任何建议?
  • 运行heatmap2,不带任何参数。源代码将出现。您需要更改axis(...) 函数。

标签: r plot heatmap plotmath gplots


【解决方案1】:

您可以使用heatmap.2labCollabRow 参数来传递标签。我们只需要弄清楚如何将这些作为plotmath 表达式列表传递。我总是觉得这很痛苦,因为我不经常这样做以记住适当的咒语,但能够通过改编this R-help answer 将代码放在一起。注意矩阵需要有列名,我已经在下面的代码中添加了

library(gplots)

# Fake data
set.seed(123)
data = matrix(sample(100), nrow=10, ncol=10)
rownames(data) = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
colnames(data) = 1:ncol(data)

heatmap.2(data,
          Colv=TRUE,
          Rowv=TRUE,
          labCol=as.expression(lapply(colnames(data), function(a) bquote(italic(.(a))))),
          labRow=as.expression(lapply(rownames(data), function(a) bquote(italic(.(a))))),
          xlab=NA,
          ylab=NA)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多