So ändern sie die balkenfarben im gestapelten bartdiagramm in ggplot2


Sie können die folgende grundlegende Syntax verwenden, um die Farbe von Balken in einem gestapelten Balkendiagramm in ggplot2 zu ändern:

 #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 ', ...))

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Farbe der Balken im gestapelten Balkendiagramm in ggplot2 ändern

Angenommen, wir haben den folgenden Datenrahmen in R, der die von verschiedenen Basketballspielern erzielten Punkte zeigt:

 #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

Wenn wir ein gestapeltes Balkendiagramm erstellen, um die von den Spielern jedes Teams erzielten Punkte zu visualisieren, verwendet ggplot2 einen Standardsatz an Farben , um die Balken zu füllen:

 library (ggplot2)

#create stacked bar chart
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') 

Wir können jedoch das Argument „scale_fill_manual()“ verwenden, um die genauen Farben anzugeben, die ggplot2 für die Balken verwenden soll:

 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 ')) 

Die Balken haben jetzt genau die Farben (in der Reihenfolge von oben nach unten), die wir in der Funktion „scale_fill_manual()“ angegeben haben.

Beachten Sie auch, dass wir in der Funktion „scale_fill_manual()“ hexadezimale Farbcodes verwenden können:

 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 ')) 

Die Balken haben jetzt die von uns angegebenen hexadezimalen Farbcodes.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in ggplot2 ausführen:

So ordnen Sie Balken in einem gestapelten Balkendiagramm in ggplot2 neu an
So erstellen Sie ein Barplot in ggplot2 mit mehreren Variablen
So sortieren Sie Balken in einem ggplot2-Balkendiagramm

Einen Kommentar hinzufügen

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