Ein Balkendiagramm ist eine großartige Möglichkeit, kategoriale Variablen auf der x-Achse anzuzeigen. Diese Art von Graph kennzeichnet zwei Aspekte in der y-Achse.
- Der erste zählt die Anzahl der Vorkommen zwischen Gruppen.
- Die zweite zeigt eine zusammenfassende Statistik (min, max, Durchschnitt usw.) einer Variablen auf der y-Achse.
Sie verwenden das mtcars-Dataset mit den folgenden Variablen:
- Zyl.: Nummer des Zylinders im Auto. Numerische Variable
- morgens: Art der Übertragung. 0 für automatisch und 1 für manuell. Numerische Variable
- mpg: Meilen pro Gallone. Numerische Variable
In diesem Tutorial lernen Sie
- So erstellen Sie ein Balkendiagramm
- Ändern Sie die Farbe der Balken
- Ändern Sie die Intensität
- Farbe nach Gruppen
- Fügen Sie eine Gruppe in den Balken hinzu
- Balkendiagramm in Prozent
- Nebeneinander liegende Stangen
- Histogramm
So erstellen Sie ein Balkendiagramm
Um ein Diagramm in R zu erstellen, können Sie das Bibliotheks-ggplot verwenden, mit dem publikationsfertige Diagramme erstellt werden. Die grundlegende Syntax dieser Bibliothek lautet:
ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric object: The type of plot you want to show. The most common objects are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`
In diesem Tutorial interessieren Sie sich für das geometrische Objekt geom_bar (), mit dem das Balkendiagramm erstellt wird.
Balkendiagramm: Anzahl
Ihr erstes Diagramm zeigt die Häufigkeit des Zylinders mit geom_bar (). Der folgende Code ist die grundlegendste Syntax.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Code Erklärung
- Sie übergeben den Datensatz mtcars an ggplot.
- Innerhalb des Arguments aes () fügen Sie die x-Achse als Faktorvariable (zyl) hinzu.
- Das + -Zeichen bedeutet, dass R den Code weiter lesen soll. Es macht den Code besser lesbar, indem es gebrochen wird.
- Verwenden Sie geom_bar () für das geometrische Objekt.
Ausgabe:
Hinweis : Stellen Sie sicher, dass Sie die Variablen in einen Faktor konvertieren, da R die Variablen sonst als numerisch behandelt. Siehe das folgende Beispiel.
Passen Sie das Diagramm an
Es können vier Argumente übergeben werden, um das Diagramm anzupassen:
- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar
Ändern Sie die Farbe der Balken
Sie können die Farbe der Balken ändern. Beachten Sie, dass die Farben der Balken alle ähnlich sind.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Code Erklärung
- Die Farben der Balken werden durch die Zuordnung von aes () innerhalb des geometrischen Objekts (dh nicht im ggplot ()) gesteuert. Sie können die Farbe mit den Füllargumenten ändern. Hier wählen Sie die Korallenfarbe.
Ausgabe:
Sie können diesen Code verwenden:
grDevices::colors()
um alle in R verfügbaren Farben zu sehen. Es gibt ungefähr 650 Farben.
Ändern Sie die Intensität
Sie können die Intensität der Balkenfarbe erhöhen oder verringern
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Code Erklärung
- Um die Intensität des Balkens zu erhöhen / zu verringern, können Sie den Wert des Alphas ändern. Ein großes Alpha erhöht die Intensität und ein niedriges Alpha verringert die Intensität. Alpha reicht von 0 bis 1. Wenn 1, dann ist die Farbe die gleiche wie die Palette. Wenn 0, ist die Farbe weiß. Sie wählen Alpha = 0,1.
Ausgabe:
Farbe nach Gruppen
Sie können die Farben der Balken ändern, dh für jede Gruppe eine andere Farbe. Zum Beispiel hat die Zyl-Variable drei Ebenen, dann können Sie das Balkendiagramm mit drei Farben zeichnen.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Code Erklärung
- Die Argumentfüllung in aes () ermöglicht das Ändern der Farbe des Balkens. Sie ändern die Farbe, indem Sie fill = x-axis variable einstellen. In Ihrem Beispiel ist die Variable auf der x-Achse zyl. Füllung = Faktor (Zyl.)
Ausgabe:
Fügen Sie eine Gruppe in den Balken hinzu
Sie können die y-Achse basierend auf einer anderen Faktorebene weiter aufteilen. Beispielsweise können Sie die Anzahl der Automatik- und Handschaltgetriebe basierend auf dem Zylindertyp zählen.
Sie werden wie folgt vorgehen:
- Schritt 1: Erstellen Sie den Datenrahmen mit dem mtcars-Dataset
- Schritt 2: Beschriften Sie die Variable am mit auto für Automatikgetriebe und man für Schaltgetriebe. Konvertieren Sie am und cyl als Faktor, sodass Sie factor () nicht in der Funktion ggplot () verwenden müssen.
- Schritt 3: Zeichnen Sie das Balkendiagramm, um die Anzahl der Getriebe pro Zylinder zu zählen
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Wenn Sie den Datensatz bereit haben, können Sie das Diagramm zeichnen.
# Schritt 3
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Code Erklärung
- Der ggpplot () enthält die Datensatzdaten und die aes ().
- In aes () geben Sie die Variable x-Achse an und welche Variable erforderlich ist, um den Balken zu füllen (dh am).
- geom_bar (): Erstellen Sie das Balkendiagramm
Ausgabe:
Die Zuordnung füllt den Balken mit zwei Farben, eine für jede Ebene. Es ist mühelos, die Gruppe zu ändern, indem Sie andere Faktorvariablen im Datensatz auswählen.
Balkendiagramm in Prozent
Sie können den Balken in Prozent anstelle der Rohanzahl anzeigen.
# Balkendiagramm in Prozent
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Code Erklärung
- Verwenden Sie position = "fill" im Argument geom_bar (), um eine Grafik mit einem Prozentsatz auf der y-Achse zu erstellen.
Ausgabe:
Nebeneinander liegende Stangen
Es ist einfach, das Balkendiagramm mit der Gruppenvariablen nebeneinander zu zeichnen.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Code Erklärung
- position = position_dodge (): Gibt explizit an, wie die Balken angeordnet werden sollen
Ausgabe:
Histogramm
Im zweiten Teil des Balkendiagramm-Tutorials können Sie die Gruppe von Variablen mit Werten auf der y-Achse darstellen.
Ihr Ziel ist es, ein Diagramm mit der durchschnittlichen Meile pro Gallone für jeden Zylindertyp zu erstellen. Um ein informatives Diagramm zu zeichnen, gehen Sie folgendermaßen vor:
- Schritt 1: Erstellen Sie eine neue Variable mit der durchschnittlichen Meile pro Gallone pro Zylinder
- Schritt 2: Erstellen Sie ein grundlegendes Histogramm
- Schritt 3: Ändern Sie die Ausrichtung
- Schritt 4: Ändern Sie die Farbe
- Schritt 5: Ändern Sie die Größe
- Schritt 6: Fügen Sie dem Diagramm Beschriftungen hinzu
Schritt 1) Erstellen Sie eine neue Variable
Sie erstellen einen Datenrahmen mit dem Namen data_histogram, der einfach die durchschnittlichen Meilen pro Gallone nach Anzahl der Zylinder im Auto zurückgibt. Sie rufen diese neue Variable mean_mpg auf und runden den Mittelwert mit zwei Dezimalstellen.
# Schritt 1
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
Schritt 2) Erstellen Sie ein grundlegendes Histogramm
Sie können das Histogramm zeichnen. Es ist nicht bereit zu kommunizieren, um an den Kunden geliefert zu werden, gibt uns aber eine Vorstellung von dem Trend.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Code Erklärung
- Das aes () hat jetzt zwei Variablen. Die zyl-Variable bezieht sich auf die x-Achse und der Mittelwert_mpg ist die y-Achse.
- Sie müssen das Argument stat = "identity" übergeben, um die Variable auf der y-Achse als numerischen Wert zu bezeichnen. geom_bar verwendet stat = "bin" als Standardwert.
Ausgabe:
Schritt 3) Ändern Sie die Ausrichtung
Sie ändern die Ausrichtung des Diagramms von vertikal nach horizontal.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Code Erklärung
- Sie können die Ausrichtung des Diagramms mit coord_flip () steuern.
Ausgabe:
Schritt 4) Ändern Sie die Farbe
Sie können die Farben der Balken nach der Faktorstufe der Variablen der x-Achse unterscheiden.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Code Erklärung
- Sie können das Diagramm nach Gruppen mit der Zuordnung fill = cyl zeichnen. R kümmert sich automatisch um die Farben basierend auf den Ebenen der Zyl-Variablen
Ausgabe:
Schritt 5) Ändern Sie die Größe
Damit das Diagramm schöner aussieht, verringern Sie die Breite des Balkens.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Code Erklärung
- Das Argument width in geom_bar () steuert die Größe des Balkens. Ein größerer Wert erhöht die Breite.
- Beachten Sie, dass Sie das Diagramm im variablen Diagramm speichern. Sie tun dies, weil der nächste Schritt den Code des variablen Diagramms nicht ändert. Es verbessert die Lesbarkeit des Codes.
Ausgabe:
Schritt 6) Fügen Sie dem Diagramm Beschriftungen hinzu
Der letzte Schritt besteht darin, den Wert der Variablen mean_mpg in die Bezeichnung einzufügen.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Code Erklärung
- Die Funktion geom_text () ist nützlich, um die Ästhetik des Textes zu steuern.
- label =: Fügen Sie innerhalb der Balken eine Beschriftung hinzu
- mean_mpg: Verwenden Sie die Variable mean_mpg für das Label
- hjust steuert die Position des Etiketts. Werte, die auf 1 geschlossen sind, zeigen die Beschriftung oben in der Leiste an, und höhere Werte bringen die Beschriftung nach unten. Wenn die Ausrichtung des Diagramms vertikal ist, ändern Sie hjust in vjust.
- color = "white": Ändert die Farbe des Textes. Hier verwenden Sie die weiße Farbe.
- size = 3: Legen Sie die Größe des Textes fest.
Ausgabe:
Zusammenfassung
Ein Balkendiagramm ist nützlich, wenn die x-Achse eine kategoriale Variable ist. Die y-Achse kann entweder eine Zähl- oder eine Zusammenfassungsstatistik sein. Die folgende Tabelle fasst zusammen, wie das Balkendiagramm mit ggplot2 gesteuert wird:
Zielsetzung |
Code |
---|---|
Anzahl |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Mit unterschiedlicher Füllfarbe zählen |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Zähle mit Gruppen, gestapelt |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Zähle mit Gruppen nebeneinander |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Zählen Sie mit Gruppen, gestapelt in% |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Werte |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |