尝试在具有堆叠条形的图表中设置沿 x 轴的条形顺序从最小到最大。
数据集:
MYshop = tibble(basket = c("basket1", "basket2", "basket3", "basket4"),
apples = c(10,100, 50, 6), red = c(2, 5, 10, 4),
green = c(1, 30, 1, 1), pink = c(7, 65, 39, 1))
我相信为了使用 ggplot2 生成堆积条形图,必须将数据集转换为长格式:
MYshop %>%
select(basket, red, green, pink) %>%
gather(color, amount, -basket) -> MYshop_long
堆积条形图:
ggplot(MYshop_long, aes(x = basket, y = amount, fill = color)) +
geom_bar(stat = "identity", position = "stack")
我想按大小订购条形,即按红色、绿色和粉红色的总和(与 MYshop 中的苹果相同):篮子 4、篮子 1、篮子 3、篮子 2
我试过了
ggplot(MYshop_long, aes(x = reorder(basket, MYshop$apples)), y = amount, fill = color)) +
geom_bar(stat = "identity", position = "stack")
但这不起作用。怎么做?


