Hoe u een barplot maakt in ggplot2 met meerdere variabelen
Een staafdiagram is handig voor het visualiseren van de hoeveelheden van verschillende categorische variabelen.
Soms willen we een staafdiagram maken dat de hoeveelheden categorische variabelen visualiseert, onderverdeeld in subgroepen.
We willen bijvoorbeeld de totale verkoop van popcorn en frisdrank voor drie verschillende sportstadions visualiseren. Deze tutorial biedt een stapsgewijs voorbeeld van hoe u de volgende staafdiagram met meerdere variabelen maakt:
Stap 1: Creëer de gegevens
Laten we eerst een dataframe maken om onze gegevens in op te slaan:
#createdata df <- data.frame(stadium= rep (c(' A ', ' B ', ' C '), each =4), food= rep (c(' popcorn ', ' soda '), times =6), sales=c(4, 5, 6, 8, 9, 12, 7, 9, 9, 11, 14, 13)) #viewdata df stadium food sales 1 A popcorn 4 2 A soda 5 3 A popcorn 6 4 A soda 8 5 B popcorn 9 6 B soda 12 7 B popcorn 7 8 B soda 9 9 C popcorn 9 10 C soda 11 11 C popcorn 14 12 C soda 13
Stap 2: Maak de Barplot met meerdere variabelen
De volgende code laat zien hoe u de barplot met meerdere variabelen kunt maken met behulp van de functie geom_bar() om de balken te maken en het argument ‚dodge‘ om te specificeren dat de staven in elke groep moeten ‚ontwijken‘ en naast elkaar moeten worden weergegeven.
ggplot(df, aes (fill=food, y=sales, x=stadium)) + geom_bar(position=' dodge ', stat=' identity ')
De verschillende fasen – A, B en C – worden weergegeven langs de x-as en de bijbehorende verkoop van popcorn en frisdrank (in duizenden) wordt weergegeven langs de y-as.
Stap 3: Verander de esthetiek van de Barplot
De volgende code laat zien hoe u een titel toevoegt, aslabels wijzigt en kleuren op het staafdiagram aanpast:
ggplot(df, aes (fill=food, y=sales, x=stadium)) + geom_bar(position=' dodge ', stat=' identity ') + ggtitle(' Sales by Stadium ') + xlab(' Stadium ') + ylab(' Sales (in thousands) ') + scale_fill_manual(' Product ', values=c(' coral2 ',' steelblue '))
Aanvullende bronnen
Hoe de titel van de legenda in ggplot2 te veranderen
Hoe de legendagrootte in ggplot2 te veranderen
Een complete gids voor de beste ggplot2-thema’s