首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改y轴值的顺序。

更改y轴值的顺序。
EN

Stack Overflow用户
提问于 2018-04-12 13:05:46
回答 2查看 2.4K关注 0票数 3

我使用的是ggplot R包,我用下面的代码完成了这个绘图:

代码语言:javascript
复制
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轴值的顺序。

预期的阴谋:

非常感谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-12 13:12:05

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

代码语言:javascript
复制
p3$G <- factor(p3$G, names(sort(table(p3$G))))

sort(table(p3$G))
# C  A  B 
# 15 20 35
票数 2
EN

Stack Overflow用户

发布于 2018-04-12 13:11:58

您可以通过将数据数据的G列设置为类型因子并设置级别来设置它的排序方式。这一切都可以通过以下方式来完成:

代码语言:javascript
复制
levels(p3$G) <- c("C", "A", "B")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49797369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档