Come aggiungere tabelle ai grafici in ggplot2 (2 esempi)


Spesso potresti voler aggiungere tabelle ai grafici creati in ggplot2 in R in modo che i lettori possano visualizzare i dati grezzi insieme al grafico.

Fortunatamente, è facile aggiungere tabelle ai grafici utilizzando il pacchetto ggpmisc:

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

I seguenti esempi mostrano come utilizzare questo pacchetto per aggiungere una tabella a un grafico a barre e a uno scatterplot utilizzando il seguente frame di dati:

 #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

Esempio 1: aggiungi una tabella a Barplot in ggplot2

Possiamo utilizzare il seguente codice per creare un barplot raggruppato in ggplot2 e aggiungere una tabella nell’angolo in basso a destra del grafico per visualizzare i valori effettivi del data frame:

 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))

tabella ggplot2

Se stai lavorando con un set di dati di grandi dimensioni e non desideri visualizzare ogni singola riga, puoi utilizzare la funzione table() per riepilogare i dati prima di creare la tabella in 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))

Esempio 2: aggiungi una tabella al grafico a dispersione in ggplot2

Possiamo utilizzare il seguente codice per creare un grafico a dispersione in ggplot2 e aggiungere una tabella nell’angolo in basso a destra del grafico per visualizzare i valori effettivi dal frame di dati:

 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 : sentiti libero di giocare con i valori xey nella funzione annotate() per posizionare l’array nella posizione esatta che desideri .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in ggplot2:

Come aggiungere testo ai grafici ggplot2
Come cambiare la posizione del titolo in ggplot2
Come modificare l’ordine degli elementi nella legenda ggplot2

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *