So zeichnen sie mehrere linien in ggplot2 (mit beispiel)


Sie können die folgende grundlegende Syntax verwenden, um mehrere Linien in ggplot2 zu zeichnen:

 ggplot(df, aes(x=x_var, y=y_var)) + 
  geom_line(aes(color=group_var)) +
  scale_color_manual(name=' legend_title ', labels=c(' lab1 ', ' lab2 ', ' lab3 '),
                     values=c(' color1 ', ' color2 ', ' color3 '))

Diese spezielle Syntax erstellt in ggplot2 einen Plot mit drei Zeilen.

Bei dieser Syntax wird davon ausgegangen, dass Ihr Datenrahmen ein Langformat hat.

Das folgende Beispiel zeigt, wie man in der Praxis mehrere Linien in ggplot2 zeichnet.

Beispiel: Zeichnen mehrerer Linien in ggplot2

Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über die Anzahl der Verkäufe enthält, die in drei verschiedenen Geschäften an fünf verschiedenen Tagen getätigt wurden:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5),
                 storeA=c(5, 6, 8, 8, 9),
                 storeB=c(3, 3, 4, 5, 7),
                 storeC=c(8, 10, 12, 12, 17))

#view data frame
df

  day storeA storeB storeC
1 1 5 3 8
2 2 6 3 10
3 3 8 4 12
4 4 8 5 12
5 5 9 7 17

Dieser Datenrahmen liegt derzeit im Breitformat vor.

Wir können jedoch die Funktion „pivot_longer()“ aus dem Tidyr- Paket verwenden, um die Daten schnell in ein langes Format zu konvertieren:

 library (tidyr)

#convert data from wide to long format
df <- df %>% pivot_longer(cols=c(' storeA ', ' storeB ', ' storeC '),
                          names_to=' store ',
                          values_to=' sales ')

#view updated data frame
df

# A tibble: 15 x 3
     day store sales
      
 1 1 blindA 5
 2 1 storeB 3
 3 1 blindC 8
 4 2 blindA 6
 5 2 storeB 3
 6 2 storeC 10
 7 3 storeA 8
 8 3 storeB 4
 9 3 storeC 12
10 4 storeA 8
11 4 storeB 5
12 4 storeC 12
13 5 storeA 9
14 5 storeB 7
15 5 storeC 17

Verwandt: Eine Einführung in Pivot_longer() in R

Da der Datenrahmen nun im Langformat vorliegt, können wir mit ggplot2 die folgende Syntax verwenden, um die Verkäufe jedes Geschäfts darzustellen:

 library (ggplot2)

#plot sales by store
ggplot(df, aes(x=day, y=sales)) + 
  geom_line(aes(color=store)) +
  scale_color_manual(name=' Store ', labels=c(' A ', ' B ', ' C '),
values=c(' red ', ' purple ', ' steelblue '))

In den einzelnen Zeilen werden die Umsätze angezeigt, die jeden Tag in jeder Filiale getätigt wurden.

Beachten Sie, dass wir die Funktion „scale_color_manual()“ verwendet haben, um eine benutzerdefinierte Legende auf der rechten Seite des Diagramms zu erstellen, um die Interpretation der Linien zu erleichtern.

Sie können die Argumente dieser Funktion jederzeit ändern, um eine Legende zu erstellen, die genau Ihren Wünschen entspricht.

Zusätzliche Ressourcen

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

So zeichnen Sie Mittelwert und Standardabweichung in ggplot2 auf
So fügen Sie mit ggplot2 eine horizontale Linie zu einem Diagramm hinzu
So zeichnen Sie eine Trendlinie in ggplot2

Einen Kommentar hinzufügen

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