I det følgende vises en række eksempler på figurer, der kan laves i R.
Figurerne er tilpasset Forbrugerrådet Tænks designguide i forhold til farver og skrifttyper.
Liggende søjlediagrammer er et godt valg for spørgsmål med mange svarmuligheder:
# Indlæsning af Raleway skrifttype:
library(showtext)
font_add(family="Raleway", regular="RALEWAY-BLACK.ttf") # Kontroller at fonten hedder det samme på din PC!
showtext_auto()
#font_add(family="Comic Sans", regular="COMIC.ttf") # Test
z1 <- ggplot(df, aes(x = reorder(Q_7, desc(Q_7)), # Sorterer i faldende rækkefølge
y = prop.table(after_stat(count)), # Indsætter procenter
label = scales::percent(prop.table(stat(count)), accuracy = 1))) + # Definerer procent-format, accuracy definerer evt. decimaler
geom_bar(aes(weight=WEIGHTS.TRIM), color="green", fill=rgb(87,219,124, maxColorValue = 255), width=0.5) + # Definerer farverne. Her FBR designfarver for grøn
coord_flip(ylim=c(0,0.3)) + # Øvre grænse er sat til 0.5, da det svarer til 50 pct.
labs(x="Bank", y="Procent", title = "Spm.7: I hvilken bank har du dit primære betalingskort?", subtitle = "Vægtet") # Tilføjer akselabels og en diagrantitel
# Konverterer x-aksen til procenter
z2 <- z1 + geom_text(aes(weight=WEIGHTS.TRIM), stat = 'count', position = position_dodge(.9), vjust = 0.2, hjust = -0.2, size = 4) + # Justerer placeringen af procenter
theme(text = element_text(family = "Raleway"), # Ændrer skrifttype til Raleway
axis.title.x = element_text(colour = "Black", size=12), # Skriftstørrelse for x-akse titel
axis.title.y = element_text(colour = "Black", size=12), # Skriftstørrelse for y-akse titel
axis.text.x = element_text(colour = "Black", size=12), # Skriftstørrelse for x-akse
axis.text.y = element_text(colour = "Black", size=12), # Skriftstørrelse for y-akse
panel.background = element_rect(fill="white", # Ændrer baggrundsfarve til hvid
colour ="Black",
size=0.5,
linetype="solid")) +
scale_y_continuous(labels = scales::percent_format(scale = 100)) # Sætter X-aksen til procenter. Scale=100 er sat som standard.
z2
Hvis man ønsker at analysere forskelle mellem målgrupper, fx. indbyggere i de forskellige regioner, kan man vise samme søjlediagram opdelt på regioner:
# Region:
ggplot(df, aes(x= reorder(Q_7, desc(Q_7)), group=Region)) +
geom_bar(aes(weight=WEIGHTS.TRIM, y = ..prop..), fill=rgb(87,219,124, maxColorValue = 255), stat="count") +
geom_text(aes(weight=WEIGHTS.TRIM,label = scales::percent(..prop.., accuracy=1),
y= ..prop.. ), stat= "count", hjust=-.2) +
coord_flip(ylim=c(0,0.4)) +
labs(x="Bank", y="Procent", title = "Spm.7: I hvilken bank har du dit primære betalingskort?",
subtitle = "Opdelt på regioner - Vægtet (WEIGHTS.TRIM)") +
theme(text = element_text(family = "Raleway"), panel.background = element_rect(fill="white",
colour ="Black",
size=0.5,
linetype="solid")) +
facet_grid(~Region) +
scale_y_continuous(labels = scales::percent)