我使用的是ggplot R包,我用下面的代码完成了这个绘图:
p3 = data.frame(cbind(c(1:70),
c("G1" , "G2" , "G1" , "G1" , "G1" , "G2" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1",
"G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G2" , "G1" , "G2" , "G1" , "G1" ,
"G1" , "G1" , "G1" , "G2" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" ,
"G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" ,
"G1" , "G1" , "G1" , "G1" , "G2" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" , "G1" ,
"G1" , "G1" , "G1" , "G1" , "G2"),
c(rep("B",35),rep("C",15),rep("A",20))
))
colnames(p3)=c("Num","L" , "G")
library(ggthemes)
library(ggplot2)
pp <- ggplot(p3, aes(Num, G)) +
geom_tile(aes(fill = L), colour = "white")
pp + theme(legend.position="bottom", axis.text.x = element_text(angle=90, size=7,vjust=0.5)) + # scale_fill_grey() + theme_classic()
scale_fill_manual(values=c("#990000","#E69F00","#999999"))

I想根据条数(=变量G)来改变y轴值的顺序。
预期的阴谋:

非常感谢你的帮助!
发布于 2018-04-12 13:12:05
根据p3$G变量的排序表更改p3$G的级别:
p3$G <- factor(p3$G, names(sort(table(p3$G))))
sort(table(p3$G))
# C A B
# 15 20 35发布于 2018-04-12 13:11:58
您可以通过将数据数据的G列设置为类型因子并设置级别来设置它的排序方式。这一切都可以通过以下方式来完成:
levels(p3$G) <- c("C", "A", "B")https://stackoverflow.com/questions/49797369
复制相似问题