【发布时间】:2014-06-11 22:00:10
【问题描述】:
我有这个数据框(如下所示),我有兴趣绘制一个带有彩色单元格的表格
sample<- data.frame(c("k","k","k","k"), c("s","t","s","s"), c("t","n","t","t"),
c("c","c","t","c"), c("n","c","c","c"))
rownames(sample)<- c("g1", "g2", "g3", "g4")
colnames(sample)<- c(10, 13, 20, 21, 25)
我在这里找到了一些以前回答过的问题(例如:Conditional coloring of cells in table)并尝试了那里给出的建议。以下是我运行的代码示例:
#run ggplot2 suggestion by Drew Steen
sample$gene<- row.names(sample)
dfm<- melt(sample, id.vars="gene")
p <- ggplot(dfm, aes(x=variable, y=gene, label=value, fill=as.factor(value))) +
geom_text(colour="black") +
geom_tile(alpha=0.5)
p
但是,这并不是我正在寻找的配色方案。我需要该图遵循下面描述的另一个数据框提供的指南:
data<- data.frame(c("K", "s", "t", "c", "c"), c(10, 13, 20, 21, 25))
colnames(data)<- c("type", "position")
因此,例如,在sample$"13" 中,我需要所有“s”显示为一种颜色,而所有其他非“s”的值显示为另一种颜色。我需要根据data 提供的指南对sample 的所有列执行此操作。
【问题讨论】:
标签: r graph plot ggplot2 dataframe