我已经使用dplyr在R studio中创建了一个条形图。条形排列顺序不正确。请帮助我重新排序0,1-5,6-10,11-15和15以上我使用了以下代码来创建图表
BarChart(Number.of.Beetle,
data = g,
by1 = Locality.Division,
main = "Beetle number vs Locality Division" ,
xlab = "Number of beetle" ,
ylab = "Locality Division")

发布于 2021-05-28 00:17:05
我想这就是你想要的:
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))

https://stackoverflow.com/questions/67707302
复制相似问题