Como alterar a ordem dos itens na legenda do ggplot2
Você pode usar a seguinte sintaxe para alterar a ordem dos elementos em uma legenda ggplot2 :
scale_fill_discrete(breaks=c('item4', 'item2', 'item1', 'item3', ...)
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: altere a ordem dos elementos na legenda ggplot2
Suponha que criemos o seguinte gráfico em ggplot2 que exibe vários boxplots em um único gráfico:
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()
Para alterar a ordem dos elementos na legenda, podemos usar a função scale_fill_discrete() da seguinte forma:
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'))
Observe que a ordem dos elementos mudou de: A, B, C para B, C, A.
Também podemos usar o argumento rótulos para modificar os rótulos específicos usados para elementos de legenda:
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'))
Observe que os rótulos das legendas foram alterados.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns no ggplot2:
Como remover uma legenda no ggplot2
Como alterar a posição da legenda no ggplot2
Como alterar o tamanho da legenda no ggplot2
Como alterar o título da legenda no ggplot2