如何更改 ggplot2 图例中的项目顺序
您可以使用以下语法更改ggplot2图例中元素的顺序:
scale_fill_discrete(breaks=c('item4', 'item2', 'item1', 'item3', ...)
以下示例展示了如何在实践中使用此语法。
示例:更改 ggplot2 图例中元素的顺序
假设我们在 ggplot2 中创建以下图,在单个图中显示多个箱线图:
library (ggplot2) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'VS'), points=c(6, 8, 13, 16, 10, 14, 19, 22, 14, 18, 24, 26)) #create multiple boxplots to visualize points scored by team ggplot(data=df, aes (x=team, y=points, fill=team)) + geom_boxplot()
要更改图例中元素的顺序,我们可以使用scale_fill_discrete()函数,如下所示:
library (ggplot2) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'VS'), points=c(6, 8, 13, 16, 10, 14, 19, 22, 14, 18, 24, 26)) #create multiple boxplots to visualize points scored by team ggplot(data=df, aes (x=team, y=points, fill=team)) + geom_boxplot() + scale_fill_discrete(breaks=c('B', 'C', 'A'))
请注意,元素的顺序已从:A、B、C 更改为 B、C、A。
我们还可以使用labels参数来修改用于图例元素的特定标签:
library (ggplot2) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'VS'), points=c(6, 8, 13, 16, 10, 14, 19, 22, 14, 18, 24, 26)) #create multiple boxplots to visualize points scored by team ggplot(data=df, aes (x=team, y=points, fill=team)) + geom_boxplot() + scale_fill_discrete(breaks=c('B', 'C', 'A'), labels=c('B Team', 'C Team', 'A Team'))
请注意,图例标签已更改。
其他资源
以下教程解释了如何在ggplot2中执行其他常见操作:
如何删除ggplot2中的图例
如何更改ggplot2中的图例位置
如何更改ggplot2中的图例大小
如何更改ggplot2中的图例标题