Como criar um gráfico de barras empilhado em r (com exemplos)


Um gráfico de barras empilhado é um tipo de gráfico que exibe as quantidades de diferentes variáveis, empilhadas por outra variável.

Este tutorial explica como criar gráficos de barras empilhados em R usando a biblioteca de visualização de dados ggplot2 .

Barplot empilhado em ggplot2

Suponha que temos o seguinte quadro de dados que exibe a média de pontos marcados por jogo para nove jogadores de basquete:

 #create data frame
df <- data.frame(team= rep (c(' A ', ' B ', ' C '), each =3),
                 position= rep (c(' Guard ', ' Forward ', ' Center '), times =3),
                 dots=c(14, 8, 8, 16, 3, 7, 17, 22, 26))

#view data frame
df

  team position points
1 A Guard 14
2 A Forward 8
3 A Center 8
4 B Guard 16
5 B Forward 3
6 B Center 7
7 C Guard 17
8 C Forward 22
9C Center 26

Podemos usar o código a seguir para criar um gráfico de barras empilhado que exibe os pontos marcados por cada jogador, empilhados por equipe e posição:

 library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' stack ', stat=' identity ')

Gráfico de barras empilhado em R

Personalizando um gráfico de barras empilhado

Também podemos personalizar o título, os rótulos dos eixos, o tema e as cores do gráfico de barras empilhado para dar a aparência desejada:

 library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  theme_minimal() + 
  labs(x=' Team ', y=' Points ', title=' Avg. Points Scored by Position & Team ') +
  theme(plot.title = element_text (hjust=0.5, size=20, face=' bold ')) +
  scale_fill_manual(' Position ', values=c(' coral2 ', ' steelblue ', ' pink '))

Barplot empilhado em R usando ggplot2

Também podemos personalizar ainda mais a aparência usando um dos temas predefinidos na biblioteca ggthemes . Por exemplo, poderíamos usar o tema do Wall Street Journal desta biblioteca:

 install.packages ('ggthemes')

library (ggplot2)
library (ggthemes)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  theme_wsj() 

Stacked Barplot R com tema personalizado

Consulte nosso guia completo com os melhores temas ggplot2 para obter ainda mais temas.

Recursos adicionais

O guia completo para títulos ggplot2
Como criar um boxplot agrupado em R usando ggplot2
Como criar gráficos lado a lado no ggplot2

Add a Comment

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