R中一列数据的热图

时间:2017-06-26 20:54:45

标签: r

现在我有一列数据,超过500行。

#example
df <- data.frame(
  City = c("New York", "LA", "DC", "Boston", "Chicago"),
  Data = c(780, 982, 111, 893, 989)

我想构建一个热图,但我只有一个变量,即City。 我可以将此列拆分为多个列并创建热图。

我是R的新手,我在网上找不到任何答案。

提前致谢!

1 个答案:

答案 0 :(得分:2)

诀窍是用cbind复制单列并绘制...

library(gplots)
df <- data.frame(
  City = c("New York", "LA", "DC", "Boston", "Chicago"),
  Data = c(780, 982, 111, 893, 989)
)

heatmap.2(cbind(df$Data, df$Data), trace="n", Colv = NA, 
          dendrogram = "row", labCol = "", labRow = df$City, cexRow = 0.75)

enter image description here

将数据包装到5x2(或100)

的示例

请注意,我完全转动了树形图,因为任何排序都没有意义。

heatmap.2(matrix(df$Data, ncol = 2), trace="n", Colv = FALSE, Rowv=FALSE,
      cellnote = matrix(df$City, ncol = 2), notecol = 1, scale = "none",
      dendrogram = "none", labCol = "", labRow = "", cexRow = 0.75)

enter image description here

labRow:设置行标签(使用""表示无标签)
cellnote:设置单元格标签(如果需要单元格标签,请删除此参数)
col:设置调色板。我的建议是使用colorspaceRColorBrewercolorRamps中的预定义调色板。 一些建议:

col=col=colorspace::sequential_hcl(15)
col=col=RColorBrewer::brewer.pal(9, "BuGn"
col=colorRamps::ygobb(25)

See this link了解有关R

中调色板的更多信息