Tabellen toevoegen aan plots in ggplot2 (2 voorbeelden)
Vaak wilt u misschien tabellen toevoegen aan plots die in ggplot2 in R zijn gemaakt, zodat lezers de onbewerkte gegevens samen met de plot kunnen visualiseren.
Gelukkig is het eenvoudig om tabellen aan plots toe te voegen met behulp van het ggpmisc-pakket:
install. packages (' ggpmisc ')
library (ggpmisc)
De volgende voorbeelden laten zien hoe u dit pakket kunt gebruiken om een tabel toe te voegen aan een barplot en scatterplot met behulp van het volgende dataframe:
#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
Voorbeeld 1: Voeg een tabel toe aan Barplot in ggplot2
We kunnen de volgende code gebruiken om een gegroepeerde barplot te maken in ggplot2 en een tabel toe te voegen in de rechter benedenhoek van de plot om de werkelijke waarden van het dataframe weer te geven:
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))
Als u met een grote gegevensset werkt en niet elke afzonderlijke rij wilt weergeven, kunt u de functie table() gebruiken om de gegevens samen te vatten voordat u de tabel in ggplot2 maakt:
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))
Voorbeeld 2: Voeg een tabel toe aan de spreidingsdiagram in ggplot2
We kunnen de volgende code gebruiken om een spreidingsdiagram te maken in ggplot2 en een tabel toe te voegen in de rechter benedenhoek van het diagram om de werkelijke waarden uit het dataframe weer te geven:
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))
Opmerking : speel gerust met de x- en y -waarden in de annotate() -functie om de array op de exacte locatie te plaatsen die u wilt.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:
Hoe tekst aan ggplot2-plots toe te voegen
Hoe de titelpositie in ggplot2 te veranderen
Hoe de volgorde van items in de ggplot2-legenda te veranderen