现在我有一列数据,超过500行。
#example
df <- data.frame(
City = c("New York", "LA", "DC", "Boston", "Chicago"),
Data = c(780, 982, 111, 893, 989)
我想构建一个热图,但我只有一个变量,即City。 我可以将此列拆分为多个列并创建热图。
我是R的新手,我在网上找不到任何答案。
提前致谢!
答案 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)
请注意,我完全转动了树形图,因为任何排序都没有意义。
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)
labRow
:设置行标签(使用""
表示无标签)
cellnote
:设置单元格标签(如果需要单元格标签,请删除此参数)
col
:设置调色板。我的建议是使用colorspace
,RColorBrewer
或colorRamps
中的预定义调色板。
一些建议:
col=col=colorspace::sequential_hcl(15)
col=col=RColorBrewer::brewer.pal(9, "BuGn"
col=colorRamps::ygobb(25)
See this link了解有关R
中调色板的更多信息