Hoe percentages op histogram in ggplot2 worden weergegeven
U kunt de volgende basissyntaxis gebruiken om percentages op de y-as van een histogram in ggplot2 weer te geven:
library (ggplot2) library (scales) #create histogram with percentages ggplot(data, aes (x = factor (team))) + geom_bar( aes (y = (..count..)/ sum (..count..))) + scale_y_continuous(labels=percent)
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld 1: Basishistogram met percentages
De volgende code laat zien hoe u een histogram maakt voor categorische variabelen, waarbij percentages worden weergegeven op de Y-as:
library (ggplot2) library (scales) #define data frame data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') , points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92)) #create histogram with percentages ggplot(data, aes (x = factor (team))) + geom_bar( aes (y = (..count..)/ sum (..count..))) + scale_y_continuous(labels=percent)
Voorbeeld 2: histogram met percentages (decimalen verwijderen)
U kunt ook het precisieargument gebruiken om alleen gehele getallen als percentages op de y-as weer te geven:
library (ggplot2) library (scales) #define data frame data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') , points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92)) #create histogram with percentages ggplot(data, aes (x = factor (team))) + geom_bar( aes (y = (..count..)/ sum (..count..))) + scale_y_continuous(labels = scales :: percent_format(accuracy = 1L ))
Voorbeeld 3: Aangepast histogram met percentages
De volgende code laat zien hoe u een histogram maakt met percentages weergegeven op de Y-as en een aangepaste titel, aslabels en kleuren:
library (ggplot2) library (scales) #define data frame data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') , points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92)) #create histogram with percentages and custom aesthetics ggplot(data, aes (x = factor (team))) + geom_bar( aes (y = (..count..)/ sum (..count..)), fill = ' lightblue ') + scale_y_continuous(labels=percent) + labs(title = ' Breakdown by Team ', x = ' Team ', y = ' Percent of Total ') + theme_minimal()
Gerelateerd: een complete gids voor de beste ggplot2-thema’s
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen met histogrammen in R kunt uitvoeren:
Hoe het aantal bakken in het histogram in R te wijzigen
Hoe meerdere histogrammen in R te plotten
Hoe maak je een relatief frequentiehistogram in R