Een gestapeld staafdiagram maken in r (met voorbeelden)
Een gestapeld staafdiagram is een soort diagram dat de hoeveelheden van verschillende variabelen weergeeft, gestapeld door een andere variabele.
In deze zelfstudie wordt uitgelegd hoe u gestapelde staafdiagrammen in R kunt maken met behulp van de ggplot2- gegevensvisualisatiebibliotheek.
Barplot gestapeld in ggplot2
Stel dat we het volgende gegevensframe hebben dat de gemiddelde punten weergeeft die per wedstrijd zijn gescoord voor negen basketbalspelers:
#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
We kunnen de volgende code gebruiken om een gestapeld staafdiagram te maken dat de door elke speler gescoorde punten weergeeft, gestapeld per team en positie:
library (ggplot2) ggplot(df, aes (fill=position, y=points, x=team)) + geom_bar(position=' stack ', stat=' identity ')
Een gestapeld staafdiagram aanpassen
We kunnen ook de titel, aslabels, het thema en de kleuren van het gestapelde staafdiagram aanpassen om het de gewenste look te geven:
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 '))
We kunnen het uiterlijk ook verder aanpassen door een van de vooraf gedefinieerde thema’s in de ggthemes- bibliotheek te gebruiken. We kunnen bijvoorbeeld het Wall Street Journal-thema uit deze bibliotheek gebruiken:
install.packages ('ggthemes') library (ggplot2) library (ggthemes) ggplot(df, aes (fill=position, y=points, x=team)) + geom_bar(position=' stack ', stat=' identity ') + theme_wsj()
Raadpleeg onzecomplete gids voor de beste ggplot2-thema’s voor nog meer thema’s.
Aanvullende bronnen
De complete gids voor ggplot2-titels
Hoe een gegroepeerde boxplot in R te maken met ggplot2
Hoe zij-aan-zij-plots te maken in ggplot2