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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert