首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ggplot2条形图中保留组的顺序?

如何在ggplot2条形图中保留组的顺序?
EN

Stack Overflow用户
提问于 2020-07-10 15:07:12
回答 1查看 58关注 0票数 1

如何保持ggplot2中"net“在dataset中的顺序?目前,它是按字母顺序绘制的。我需要在图中从下到上依次为非LTE >LTE>混合> 5G。

代码语言:javascript
运行
复制
df1 <- data.frame(product = c("A","A","A","A","B","B","C","C","C","C","D","D", "D"), 
                  net =c("5G", "Mixed", "LTE", "Non-LTE", "Mixed", "LTE", "5G", "Mixed", "LTE", "Non-LTE", "5G", "Mixed", "LTE"),
                  value = c(33.74, 21.62, 24.44, 20.20, 4.70, 95.30, 41.82, 39.60, 13.98, 4.61, 0.20, 0.20, 99.60))

color <- c('5G' = '#778899',
  'Mixed' = '#3CB371',
  'LTE' = '#58595b',
  'Non-LTE' = '#9ACD32')  

library(ggplot2)

plot1 <- ggplot(df1, aes(y = value, x = product, fill = net, label = paste0(value,"%"))) + geom_col() + scale_fill_manual(values= color) + geom_text(size = 4, position = position_stack(vjust = 0.5), color = "white")

EN

回答 1

Stack Overflow用户

发布于 2020-07-10 15:09:22

使用

代码语言:javascript
运行
复制
color <- c('5G' = '#778899',
           'Mixed' = '#3CB371',
           'LTE' = '#58595b',
           'Non-LTE' = '#9ACD32')  

library(ggplot2)

df1$net <- factor(df1$net, levels = c("Non-LTE", "LTE", "Mixed", "5G"))

ggplot(df1, aes(y = value, x = product, fill = net, label = paste0(value,"%"))) +
  geom_col() + 
  scale_fill_manual(values= color) + 
  geom_text(size = 4, position = position_stack(vjust = 0.5), color = "white") +
  scale_y_reverse()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62829003

复制
相关文章

相似问题

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