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