Liniendiagramm in R mit ggplot erstellen

von | Zuletzt bearbeitet am: Sep 29, 2022 | ggplot, Liniendiagramm, R | 0 Kommentare

Ein Liniendiagramm mit ggplot sieht deutlich schicker aus, als mit Bordmitteln. Der Verwendungszweck bleibt aber logischerweise identisch: ein Merkmal und dessen zeitlichen Verlauf werden in einer Grafik abgebildet, z.B. Temperaturen, Wechselkurse usw.

1 Vorbemerkungen

Zunächst werden Daten eingelesen. In der Regel reicht für die Zeitvariable das numeric-Format, wenn es lediglich Jahreszahlen sind. Monate im Character-Format funktionieren ebenfalls. Solltet ihr allerdings Datum und/oder Uhrzeit haben, empfiehlt sich eine Umwandlung in und Verwendung des POSIXct-Formats.

Für ein Liniendiagramm mit mehreren Linien empfehle ich diesen Artikel (erscheint bis 28.07.2022), da der Datensatz im sog. long-Format vorliegen muss.

Zum Installieren von R bzw. RStudio empfehle ich diesen Artikel. Für augenfreundliches Arbeiten im Dark Mode empfehle ich euch diesen Artikel sehr.

 

2 Diagramm erstellen

2.1 Variablen zuweisen

Im Beispiel zeige ich, das Abtragen der historischen Euro-Dollar-Wechselkurse (jeweils Schlusskurs für die Jahre 2000-2017). Daher kommt auf die x-Achse die “Zeitvariable”. Ich habe also zwei Variablen: 1) das Jahr (“Jahr”) und 2) den Jahresschlusskurs (“Schluss”).
Zuerst fangt ihr dem Befehl ggplot an. Der grobe Aufbau sieht so aus:

  • data=der Name des Data Frames, in dem die Daten stehen. Hier “line”.
  • aes – Definition von x-Variable und y-Variable mit “x=” und “y=”, hier Jahr für x- und Schluss(kurs) für y-Achse

ggplot(data=line, aes(x=Jahr, y=Schluss))

 

2.2 Linie einfügen

Im Anschluss an ggplot() wird ein + gesetzt und der Übersicht wegen in der neuen Zeile weitergearbeitet. Der entscheidende Befehl ist hierbei “geom_line()“.

  • linetype” ändert die Linienart (siehe unten),
  • color” ermöglicht das Einfärben (siehe Farben) und
  • size” die Dicke.
  • 
    ggplot(data=line, aes(x=Jahr, y=Schluss))+
      geom_line(linetype=1, color="steelblue", size=2)
    

    Linientypen

      Linientypen ggplot


     

    Liniendiagramm ggplot

     

    2.3 Datenpunkte hinzufügen

    Zur besseren Lesbarkeit können noch Datenpunkte hinzugefügt werden. “geom_point()” ermöglicht dies. Analog kann mit size und color gearbeitet werden. Zusätzlich können die Datenpunkte noch eine andere Form mit “shape” erhalten.
    Ich habe hellblaue um 45° gedrehte Vierecke als Datenpunkte festgelegt:

    
    ggplot(data=line, aes(x=Jahr, y=Schluss)) +
      geom_line(linetype=1, color="steelblue", size=2) +
      geom_point(size=5, color="steelblue", shape=23, fill="lightblue")
    

    Datenpunkttypen

      Datenpunkttypen ggplot


     

    Liniendiagramm mit Datenpunkten ggplot
     

    3 Diagramm formatieren

    3.1 Titel vergeben und Achsen beschriften

    In ggplot werden der Titel und die Achsen mit dem Befehl “labs()” vergeben. Der Titel (kann meist weggelassen werden, da eine Abbildungsbeschriftung im Dokument existiert) wird über das Argument “title” festgelegt. Mit “x=” und “y=” werden die Achsen beschriftet.

    
    ggplot(data=line, aes(x=Jahr, y=Schluss)) +
      geom_line(linetype=1, color="steelblue", size=2) +
      geom_point(size=5, color="steelblue", shape=23, fill="lightblue") +
      labs(x="Jahr", y="Wechselkurs Euro/Dollar", 
      title="Wechselkurs Euro/Dollar im Zeitraum 2000-2017")
    

    Liniendiagramm ggplot
     

    3.2 Achse begrenzen

    Mit “scale_x_continuous()” bzw. “scale_y_continuous()” kann sowohl ein Achsenausschnitt definiert werden (z.B. nur die Jahre 2005-2010) als auch festgelegt werden, in welchen Abständen die Beschriftung auf der Achse eingeblendet (z.B. jährlich, alle 2 Jahre usw.) wird. Ich zeige das hier exemplarisch für die x-Achse die Jahre 2005-2010 in 1er-Schritten und auf der y-Achse den Wechselkurs bei 1; 1,15; 1,3; 1,45 und 1,5.

    
    ggplot(data=line, aes(x=Jahr, y=Schluss)) +
      geom_line(linetype=1, color="steelblue", size=2) +
      geom_point(size=5, color="steelblue", shape=23, fill="lightblue") +
      labs(x="Jahr", y="Wechselkurs Euro/Dollar", title="Wechselkurs Euro/Dollar im Zeitraum 2000-2017") +
      scale_x_continuous(limits=c(2005,2010), breaks = seq(2000,2017, by=1))+
      scale_y_continuous(breaks=c(1, 1.15, 1.3, 1.45, 1.5))
    

    scale_x_continous funktioniert nur für numerisch skalierte Variablen. scale_x_date, scale_x_time existieren auch und können verwendet werden, wenn die Zeitvariable ein Datums- oder Zeitformat hat. Gleiches gilt für scale_y_continous.

     

    Liniendiagramm mit Datenpunkten ggplot
     

    Es gibt noch viele weitere Anpassungsmöglichkeiten. Diese hier alle auszuführen, würde den Rahmen eines Übersichtsartikels sprengen.

     

    4 Videotutorial


     

    Hat dir der Beitrag geholfen?

    Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
    Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

    Vielen Dank und viel Erfolg!

    Über mich

    Björn Walther

    Ein 💚 für Statistik & Datenanalyse

    Excel Online-Kurs

    YouTube-Kanal

    Inhalt