Como alterar as cores das barras no gráfico stacked bart no ggplot2


Você pode usar a seguinte sintaxe básica para alterar a cor das barras em um gráfico de barras empilhadas no ggplot2:

 #create stacked bar chart
ggplot(df, aes(x=x_var, y=y_var, fill=fill_var)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' red ', ' purple ', ' pink ', ...))

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: alterar a cor das barras no gráfico de barras empilhadas no ggplot2

Suponha que temos o seguinte quadro de dados em R que mostra os pontos marcados por diferentes jogadores de basquete:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
                 position=c('G', 'F', 'C', 'G', 'F', 'C', 'G', 'F', 'C'),
                 points=c(22, 12, 10, 30, 12, 17, 28, 23, 20))

#view data frame
df

  team position points
1 AG 22
2 AF12
3 AC 10
4 BG 30
5 BF 12
6 BC 17
7 GC 28
8 CF 23
9 CC 20

Se criarmos um gráfico de barras empilhadas para visualizar os pontos marcados pelos jogadores de cada equipe, o ggplot2 usará um conjunto padrão de cores para preencher as barras:

 library (ggplot2)

#create stacked bar chart
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') 

No entanto, podemos usar o argumento scale_fill_manual() para especificar as cores exatas que o ggplot2 deve usar para as barras:

 library (ggplot2)

#create stacked bar chart with custom colors
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' red ', ' purple ', ' pink ')) 

As barras agora têm as cores exatas (em ordem de cima para baixo) que especificamos na função scale_fill_manual() .

Observe também que podemos usar códigos de cores hexadecimais na função scale_fill_manual() :

 library (ggplot2)

#create stacked bar chart with custom hex color codes
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' #2596BE ', ' #8225BE ', ' #D4C443 ')) 

As barras agora possuem os códigos de cores hexadecimais que especificamos.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:

Como reorganizar barras em um gráfico de barras empilhadas no ggplot2
Como criar um Barplot no ggplot2 com múltiplas variáveis
Como classificar barras em um gráfico de barras ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *