R heatmap ggplot2订购为数据文件

用户名

我正在制作此热图

如何使用ggplot2生成热图?

那篇文章中的代码工作正常

library(reshape2)
 library(ggplot2)
 library(scales)
library(plyr)
data <- read.csv("fruits.txt", head=TRUE, sep=",")
 data.m = melt(data)
 data.m <- ddply(data.m, .(variable), transform, rescale = rescale(value))
  data.m <- ddply(data.m, .(variable), transform, rescale = rescale(value))
 p <- ggplot(data.m, aes(variable, people)) + geom_tile(aes(fill = rescale), 
                                                   colour =   "white") 
 p + scale_fill_gradient(low = "white", high = "steelblue")

我正在使用的数据文件是这个

people,1,2,3
Ej1,1,0,0
Ej2,0,0,1
Ej3,0,0,1
Ej4,1,1,0

但是我需要按原样显示行(从Ej1到Ej4),并以相反的顺序生成它们,我无法找出如何在数据文件中按原样显示它们。

耶洛华德

像这样?

尝试使用:

data$people <- factor(data$people,levels=rev(data$people))

在致电之前melt(...)

data$people <- factor(data$people,levels=rev(data$people))
data.m = melt(data)
data.m <- ddply(data.m, .(variable), transform, rescale = rescale(value))
p <- ggplot(data.m, aes(variable, people)) + geom_tile(aes(fill = rescale), 
                                                       colour =   "white") 
p + scale_fill_gradient(low = "white", high = "steelblue")

data$people是一个因子,ggplot它将按照从下到上的字母顺序“递增”地排序因子级别。上面的更改颠倒了因子水平的顺序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章