如何更改 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')) 

ggplot2 箱线图,图例中元素的特定顺序

请注意,元素的顺序已从: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中的图例标题

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注