Como adicionar tabelas a gráficos no ggplot2 (2 exemplos)


Muitas vezes você pode querer adicionar tabelas aos gráficos criados em ggplot2 em R para que os leitores possam visualizar os dados brutos junto com o gráfico.

Felizmente, é fácil adicionar tabelas aos gráficos usando o pacote ggpmisc:

 install. packages (' ggpmisc ')
library (ggpmisc)

Os exemplos a seguir mostram como usar este pacote para adicionar uma tabela a um gráfico de barras e gráfico de dispersão usando o seguinte quadro de dados:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(13, 23, 24, 20, 19, 14, 29, 31))

#view data frame
df

  team position points
1 AG 13
2 AG 23
3 AF 24
4 AF 20
5 BG 19
6 BG 14
7 BF 29
8 BF 31

Exemplo 1: Adicionar uma tabela ao Barplot em ggplot2

Podemos usar o seguinte código para criar um gráfico de barras agrupado em ggplot2 e adicionar uma tabela no canto inferior direito do gráfico para exibir os valores reais do quadro de dados:

 library (ggplo2)
library (ggpmisc)

#create barplot with table
ggplot(df, aes(x=team, y=points, fill=position)) + 
    geom_bar(position=' dodge ', stat=' identity ') +
    annotate(geom = ' table ',
           x=4,
           y=0,
           label=list(df))

tabela ggplot2

Se você estiver trabalhando com um conjunto de dados grande e não quiser exibir cada linha individual, poderá usar a função table() para resumir os dados antes de criar a tabela no ggplot2:

 library (ggplot2)
library (ggpmisc)

#summarize frequencies of team and points in table
my_table <- as. data . frame (table(df[, c(1, 3)]))

#create barplot with table
ggplot(df, aes(x=team, y=points, fill=position)) + 
    geom_bar(position=' dodge ', stat=' identity ') +
    annotate(geom = ' table ',
           x=4,
           y=0,
           label=list(my_table))

Exemplo 2: Adicione uma tabela ao gráfico de dispersão em ggplot2

Podemos usar o seguinte código para criar um gráfico de dispersão em ggplot2 e adicionar uma tabela no canto inferior direito do gráfico para exibir os valores reais do quadro de dados:

 library (ggplo2)
library (ggpmisc)

#create scatterplot with table
ggplot(df, aes(x=team, y=points)) + 
    geom_point(aes(color=position)) +
    annotate(geom=' table ',
           x=4,
           y=0,
           label=list(df))

Nota : Sinta-se à vontade para brincar com os valores x e y na função annotate() para colocar o array no local exato que você deseja.

Recursos adicionais

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

Como adicionar texto aos gráficos ggplot2
Como alterar a posição do título no ggplot2
Como alterar a ordem dos itens na legenda do ggplot2

Add a Comment

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