Website-Icon Björn Walther

Streudiagramm/Punktdiagramm in R erstellen


Mit einem Punktdiagramm bzw. Streudiagramm könnt ihr zwei Merkmale zueinander in Beziehung setzen. Wie dies in R mit Bordmitteln (plot-Funktion) am schnellsten funktioniert, zeigt euch dieser Beitrag.

Zunächst müssen eure Daten eingelesen sein. Wahlweise könnt ihr sie mit dem attach-Befehl aus dem Data-frame lösen. Ich zeige hier die Variante mit Zugriff auf den Data-frame. Deswegen steht vor den Variablen stets mein Data-frame, der “data_xls” heißt sowie das Dollarzeichen ($) zur Verknüpfung. Ich zeige Schritt für Schritt den Aufbau und fange zunächst mit den Datenpunkten an. Habt ihr eine zeitliche Abfolge einer Variable, wollt ihr vielleicht eher ein Liniendiagramm in R erstellen.

Für augenfreundliches Arbeiten empfehle ich euch diesen Artikel sehr.
 

1 Die Datenpunkte eintragen

Als Erstes arbeitet ihr mit dem Befehl plot. Der grobe Aufbau sieht so aus:


plot(x, y, ...)

 

Als x-Variable und y-Variable werden logischerweise die Daten verwendet, die ihr abtragen wollt. In meinem Falle möchte ich auf der x-Achse das Gewicht und auf der y-Achse die Größe abtragen. Da ich es aus meinem Data-frame data_xls beziehe, setze ich vor die Variablen entsprechend “data_xls$”.


plot(data_xls$Gewicht, data_xls$Größe)


 

2 Die Achsenbeschriftung anpassen

Wie man sehen kann, wurden die Datenpunkte in einem Streudiagramm eingetragen. Allerdings fällt auf, dass die Beschriftung der Achsen nicht angemessen ist und angepasst werden muss. R trägt in euer Streudiagramm standardmäßig die Variablennamen ein. Statt data_xls$Gewicht und data_xls$Größe möchte ich “Gewicht in kg” und “Größe in m” an den Achsen stehen haben. Das funktioniert mit dem Befehl “xlab” und “ylab“. Man kann einfach schreiben xlab=”Gewicht in kg” und ylab=”Größe in m”. Wichtig sind die Anführungszeichen nach dem Gleichheitszeichen. Im Code sieht das dann wie folgt aus:


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m")


 

3 Einen Titel vergeben

Jedes Diagramm verdient einen Titel. Zumindest dann, wenn es in einer Präsentation erscheint. Das funktioniert über das Argument “main“. In meinem Falle soll die Abbildung heißen: “Streudiagramm zum Gewicht und der Größe der Probanden”. Der Befehl heißt dann main=”Streudiagramm zum Gewicht und der Größe der Probanden”. Auch hier ist auf die Anführungszeichen zu achten. Das Argument wird mit einem Komma einfach an den bisherigen Code angehängt:


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m", 
     main="Streudiagramm zum Gewicht und der Größe der Probanden")


 

4 Datenpunkte formatieren

4.1 Größe der Datenpunkte ändern

Die Größe der Datenpunkte in eurem Punktdiagramm könnt ihr mit dem Argument “cex” ändern. Standardmäßig hat es den Wert 1. mit cex=2 vergrößert ihr die Punkte etwas. Den Wert könnt ihr beliebig steigern, ihr werdet aber schnell merken, dass es nur wenig Sinn macht, eine große Zahl zu wählen. In meinem Falle habe ich den Code mit cex=2 modifiziert.


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m", 
     main="Streudiagramm zum Gewicht und der Größe der Probanden", 
     cex=2)


 

4.2 Aussehen der Datenpunkte ändern

Das standardmäßige Aussehen von Datenpunkten in einem Streudiagramm in R sind leere Kreise. Es gibt bis 25 Vorlagen, die das Aussehen der Datenpunkte im Streudiagramm ändern. Eine Übersicht sehr ihr hier:

Ihr verwendet das pch-Argument, um das Aussehen zu ändern. Wollt ihr beispielsweise den Punkt ausgefüllt haben, verwendet ihr pch=16. Das hängt ihr ebenfalls mit Komma getrennt an euren bisherigen Code der plot()-Funktion. Der vollständige Code sieht dann so aus:


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m", 
     main="Streudiagramm zum Gewicht und der Größe der Probanden", 
     cex=2, pch=16)


 

4.3 Achsenbeschriftung formatieren

Die Größe der Achsenbeschriftung kann ebenfalls angepasst werden. Wenn ihr eure Datenpunkte etwas vergrößert, kann es durchaus sinnvoll sein auch die Achsen bzw. deren Beschriftung etwas zu vergrößern. Mit dem Argument cex.axis werden die Achsenwerte in ihrer Größe verändert. Das Argument cex.lab sorgt für eine andere Größe der Achsenbeschriftung, cex.main für den Titel. In meinem Falle vergrößere ich die Achsenwerte und die Achsenbeschriftung des Streudiagramms etwas mit jeweils 1.5. Der Standardwert ist 1. Ihr könnt auch mit 0.5 eine Verkleinerung erzielen. Der Code sieht wie folgt aus.


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m", 
     main="Streudiagramm zum Gewicht und der Größe der Probanden", 
     cex=2, pch=16, cex.axis=1.50, cex.lab=1.50, cex.main=1.50)


 

4.4 Zusatz: Farbe der Datenpunkte und Achsen ändern

Mit dem Argument “col” könnt ihr euren Datenpunkten zusätzlich einen farbigen Anstrich geben. col.axis ist für die Achsen, col.lab für die Achsenbeschriftung und col.main für den Titel des Streudiagramms. Mit Farbe würde ich allerdings sparsam umgehen. Schwarze oder in Graustufen gehaltene Datenpunkte sind am unverfänglichsten. Dennoch, gibt es die Möglichkeit das Diagramm einzufärben, dazu kann man direkt die Farben in Anführungszeichen (z.B. col=”red”) einfügen. Zu den Farben in R gibt es hier noch mal einen ausführlichen Artikel: Farben in R, der „col“-Befehl.


plot(data_xls$Gewicht, data_xls$Größe, xlab="Gewicht in kg", ylab="Größe in m",
     main="Streudiagramm zum Gewicht und der Größe der Probanden",
     cex=2, pch=16, cex.axis=1.50, cex.lab=1.50, 
     col="darkred", col.axis="springgreen1", col.main="powderblue", col.lab="mistyrose")

Im Beispiel habe ich es sehr stark übertrieben. Die Punkte mit “darkred” ein dunkelrot, die Achsen ein helles türkis (“springgreen1”), der Titel ein mattes balu (“powderblue” und die Achsenbeschriftung ein helles rosa (“mistyrose”). So eine Darstellung würde ich euch in keinster Weise empfehlen. Sie soll nur veranschaulichen, wie ihr Diagramme in R farblich (über)anpassen könnt.

Weitere mögliche Farben könnt ihr über folgenden Befehl abrufen:

colors()

Er zeigt euch die 657 in R existierenden Farbnamen an, die ihr beliebig miteinander kombinieren könnt. Hier findet ihr eine Übersicht von mir mit jeweiliger Vorschau.
 

5 Anpassungen der Achsen

Aus Gründen der Übersichtlichkeit und der Menge an Anpassungsmöglichkeiten verweise ich auf den entsprechenden Beitrag “Achsen in R plot() bearbeiten und anpassen
 

6 Videotutorial zum Erstellen eines Streudiagrammes in R

https://www.youtube.com/watch?v=ublUhiAoyOE/
 

7 Daten zum Download

Streudiagramm – Beispieldatensatz
 

Die mobile Version verlassen