可以使用scale_fill_manual()函数手动设置颜色的顺序,然后使用guides()函数来设置图例的顺序。
示例:
假设我们有以下数据:
library(ggplot2)
library(dplyr)
data <- data.frame(
x = c(1,1,1,1,2,2,2,2,3,3,3,3),
y = c(1,2,3,4,1,2,3,4,1,2,3,4),
group = c("A","B","C","D","A","B","C","D","A","B","C","D")
)
我们可以手动指定颜色顺序,比如按照ABC的顺序:
colors <- c("#F8766D", "#00BFC4", "#619CFF")
然后,我们可以在ggplot()函数中使用scale_fill_manual()函数指定颜色序列:
plot <- ggplot(data, aes(x = x, y = y, fill = group)) +
geom_area() +
scale_fill_manual(values = colors)
最后,使用guides()函数来设置图例的顺序:
plot +
guides(fill = guide_legend(reverse = TRUE))
执行上述代码,即可按照颜色顺序排序图例。
上一篇:按照更高级别的列合并数据帧