Hoe u de staafkleuren in het gestapelde bart-diagram in ggplot2 kunt wijzigen
U kunt de volgende basissyntaxis gebruiken om de kleur van staven in een gestapeld staafdiagram in ggplot2 te wijzigen:
#create stacked bar chart ggplot(df, aes(x=x_var, y=y_var, fill=fill_var)) + geom_bar(position=' stack ', stat=' identity ') + scale_fill_manual(values=c(' red ', ' purple ', ' pink ', ...))
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: verander de kleur van staven in een gestapeld staafdiagram in ggplot2
Stel dat we het volgende gegevensframe in R hebben dat de punten weergeeft die door verschillende basketbalspelers zijn gescoord:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
position=c('G', 'F', 'C', 'G', 'F', 'C', 'G', 'F', 'C'),
points=c(22, 12, 10, 30, 12, 17, 28, 23, 20))
#view data frame
df
team position points
1 AG 22
2 AF12
3 AC 10
4 BG 30
5 BF 12
6 BC 17
7 GC 28
8 CF 23
9 CC 20
Als we een gestapeld staafdiagram maken om de punten te visualiseren die door spelers in elk team zijn gescoord, gebruikt ggplot2 een standaardset kleuren om de balken te vullen:
library (ggplot2) #create stacked bar chart ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(position=' stack ', stat=' identity ')
We kunnen echter het argument scale_fill_manual() gebruiken om de exacte kleuren op te geven die ggplot2 voor de balken moet gebruiken:
library (ggplot2) #create stacked bar chart with custom colors ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(position=' stack ', stat=' identity ') + scale_fill_manual(values=c(' red ', ' purple ', ' pink '))
De balken hebben nu de exacte kleuren (in volgorde van boven naar beneden) die we hebben opgegeven in de scale_fill_manual() functie.
Merk ook op dat we hexadecimale kleurcodes kunnen gebruiken in de scale_fill_manual() functie:
library (ggplot2) #create stacked bar chart with custom hex color codes ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(position=' stack ', stat=' identity ') + scale_fill_manual(values=c(' #2596BE ', ' #8225BE ', ' #D4C443 '))
De balken hebben nu de hexadecimale kleurcodes die we hebben opgegeven.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:
Hoe staven in een gestapeld staafdiagram in ggplot2 opnieuw te rangschikken
Hoe u een Barplot maakt in ggplot2 met meerdere variabelen
Hoe staven in een ggplot2-staafdiagram te sorteren