首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新排序使用dplyr创建的条形图条形图

如何重新排序使用dplyr创建的条形图条形图
EN

Stack Overflow用户
提问于 2021-05-26 22:44:55
回答 1查看 41关注 0票数 1

我已经使用dplyr在R studio中创建了一个条形图。条形排列顺序不正确。请帮助我重新排序0,1-5,6-10,11-15和15以上我使用了以下代码来创建图表

代码语言:javascript
复制
BarChart(Number.of.Beetle, 
         data = g, 
         by1 = Locality.Division, 
         main = "Beetle number vs Locality Division" , 
         xlab = "Number of beetle" , 
         ylab = "Locality Division")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-28 00:17:05

我想这就是你想要的:

代码语言:javascript
复制
library(dplyr)
library(ggplot2)
library(tibble)

##----------------------------------------
## Creating a dataset to simulate yours
##----------------------------------------

df <- tibble(
  beetle = sample(0:25, 500, replace = TRUE),
  loclity_division = sample(c("Municipality", "Village"), 500, replace = T),
)

df$beetle <-  ifelse(df$beetle > 1 & df$beetle <= 5, "1-5",
              ifelse(df$beetle > 5 & df$beetle <= 10, "6-10",
              ifelse(df$beetle > 10 & df$beetle <= 15, "11-15",
              ifelse(df$beetle > 15, "Above 15", "0"
              ))))


##--------------------------------------
## Determine the custom order of levels
##--------------------------------------

df$beetle <- factor(df$beetle, levels = c("0", "1-5", "6-10", "11-15", "Above 15"))


##----------------------
## Plotting by ggplot
##----------------------

df %>%
  ggplot(aes(x = beetle, fill = beetle)) +
    geom_bar(width = 0.6) + 
    coord_flip() + 
    facet_wrap(vars(loclity_division))

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

https://stackoverflow.com/questions/67707302

复制
相关文章

相似问题

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