Reputation: 355
I am doing a heatmap in R (gplots) and I would like to italicize just my gene names (in my example - gene1, gene2 and gene3). For example:
df <- data.frame(Gene = c ("gene1", "gene2", "gene3"), value = c(3, 2, 2.5), time = c("10d","10d","10d"))
gplots::heatmap.2(cbind(df$value, df$value), trace= "none", Colv = NA, labCol = "", labRow = df$Gene, Rowv=FALSE)
I tried (did not work):
df <- data.frame(Gene = c ( expression(italic("gene1", "gene2", "gene3"))), value = c(3, 2, 2.5), time = c("10d","10d","10d"))
or
df <- data.frame(Gene = expression(italic(c ("gene1", "gene2", "gene3"))), value = c(3, 2, 2.5), time = c("10d","10d","10d"))
Any suggestions?
Upvotes: 1
Views: 799
Reputation: 3650
This will do it progammatically:
gene_list <- as.character(df$Gene)
make_italics <- function(x) {
as.expression(lapply(x, function(y) bquote(italic(.(y)))))
}
heatmap.2(
cbind(df$value, df$value),
trace = "none",
Colv = NA,
labCol = "",
labRow = make_italics(gene_list),
Rowv = FALSE
)
Upvotes: 3