我正在制作此热图
那篇文章中的代码工作正常
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] 删除。
我来说两句