我试图在ggplot堆积条形图中对变量进行排序 . 到目前为止,这是我的代码:
levels(rs$Site) <- c("Mature","Little East","Upper Fill","Lower Fill")
# I have rearranged the levels to the desired order, but the output looks like
# c("Little East","Lower Fill","Upper Fill","Mature")
library(ggplot2)
library(scales)
ggplot(rs, aes(x = Site)) + geom_bar(aes(fill = At.Mature), position = 'fill') +
scale_x_discrete(limits=unique(rs$Site)) +
coord_flip()
但是,数据从上到下绘制为:
c("Mature","Upper Fill","Lower Fill","Little East")
# Notice this is simply a reverse of the output of the level reorder above
我尝试使用factor()重新排序级别,但结果保持不变 .
为什么“小东方”走向终点(图的底部)?我怎样才能解决这个问题?
1 回答
我们可以使用订单中指定的
levels
再次调用factor
并在
scale_x_discrete
中,使用levels(rs$Site)
数据
分配
levels
是有风险的,因为它可以更改值,例如