r - 更改 y 轴值的顺序

标签 r plot ggplot2 axes

我正在使用 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"))

enter image description here

我想根据柱数(= 变量 G)更改 y 轴值的顺序

预期剧情:

enter image description here

非常感谢您的帮助!

最佳答案

根据 p3$G 变量的排序表更改 p3$G 的级别:

p3$G <- factor(p3$G, names(sort(table(p3$G))))

sort(table(p3$G))
# C  A  B 
# 15 20 35

关于r - 更改 y 轴值的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49797369/

相关文章:

r - 创建具有 3 种颜色的线段的交互线?

r - 如何在r中组合具有相同结构的两个列表

r - 在 R 中编写 .ods openoffice/libreoffice 文件

r - 如何使用 R 中的 geom_errorbar() 反转错误栏出现的顺序?

java - JFreeChart PolarPlot 删除半径标签?

r - 编写ggplot自定义几何函数

r - ggplot geom_bar和geom_histogram

R从字符串中删除最后一个单词

r - 具有显着差异和相互作用的条形图?

从 ggplot 或 gtable/gTree/grob/gDesc 对象中检索分面标签