Definition

Liniendiagramme geben uns die Möglichkeit Trends oder Veränderungen im Zeitablauf dazustellen. Die verbundenen Datenpunkte stellen diesen Trend. Es können ein oder mehrere Zahlenreihen in einem Liniendiagramm darstellen.

Beschreibung

Ein Liniendiagramm (auch Kurvendiagramm) ist die graphische Darstellung des funktionellen Zusammenhangs zweier Merkmale in Linienform. Im Gegensatz zum Streudiagramm kann es jeweils nur ein Wertepaar geben. Voraussetzung für die Darstellung in R ist, dass die Daten der Variable auf der x-Achse sortiert vorliegen müssen.

Voraussetzung

✓ Die zu untersuchenden Merkmale sollten metrisch sein.

Gestaltung

einfach

  • clean
  • gut lesebar
  • Farben
  • Achsen sichtbar und richtig beschreiben

mehrfach

  • andere Symbole
  • Farben (bunt)

Daten

data <- data.frame(
  name=c( rep("A",5), rep("B",5)),
  value=c( 1990:1994 , 2090:2094)
)
View(data)
data1 <- data.frame(
    value1=c( 1990:1999),
    value2=c(rnorm(10, 12, 5))
   
)
View(data1)

Code

Base

plot(data1$value1,data1$value2,  # Daten x dann y
     type="o", # Linientypen zur Auswahl stehen o, l, b, p
     main = "Ich bin eine Zeitreihe", # Überschrift
     xlab= "Zeit in Jahren", #x-Achse
     ylab = "Anzahl / Stückzahlen",#y-Achse
     pch= 17, # Shape der Punkte 
     col="darkgray")

A <-subset(data, data$name =="A") # Subset -> Datenanpassen
B <-subset(data, data$name =="B")


plot(A$value, A$value1, # Daten 
     type = "b",#Linie
     frame = FALSE, 
     pch = 19, #Form
     col = "red", xlab = "x", ylab = "y",#Farbe, X-Achse-Bezeichnung , y-Achse-Bezeichnung
     ylim = c(1,15))#Bereich der y-Achse


lines(A$value, B$value1, # Weitere Linie + Daten
      pch = 18, #Form
      col = "blue",#Farbe
      type = "b", #Linienart
      lty = 2) #Linie - durchgezogen 


legend("topleft",  # Legende
       legend=c("Line 1", "Line 2"),  #Bezeichnung der Legende
       col=c("red", "blue"), # Farbe der Legende
       lty = 1:2,#Linie - durchgezogen / gestichelt 
       cex=0.8)#Größe der Form

NA
NA
NA

ggplot

library(ggplot2)
library(hrbrthemes)

ggplot(data1, #Datensatz
       aes(x=as.integer(value1), y=value2)) + # Var. eingelesen
  
  
  geom_line( color="darkgray", # Linie + Farbe der Linie grau
             size=0.2, # Größe : klein
             alpha=1,   # Transparenz 1 -> sehr gut lesbar
             linetype=1) + # Linienart
  
   geom_point(alpha= 0.2, # Transparenz 
              shape = 17,# Form - Dreieck 
              fill="green", # Farbe der Shape
              size=6)+ # Größe 
 
    scale_x_log10( breaks=c(1990:2000)) + #Ränge für die X-Achse
    ggtitle("Zeitreihe")+ #Bezeichnung
    labs(x="Jahr", y="Anzahle / Stück")    + # Achsenbezeichnung
  
  theme(panel.background = element_rect(size = 0.5, fill = "white", colour = "gray", linetype='solid'),
panel.grid.major = element_line(size = 0.5, linetype = 'solid', colour = "gray"),
panel.grid.minor = element_line(size = 0.5, linetype = 'solid', colour = "gray"),
plot.background = element_rect(fill = "white") # Raster
)

LS0tDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCiMgRGVmaW5pdGlvbg0KTGluaWVuZGlhZ3JhbW1lIGdlYmVuIHVucyBkaWUgTcO2Z2xpY2hrZWl0IFRyZW5kcyBvZGVyIFZlcsOkbmRlcnVuZ2VuIGltIFplaXRhYmxhdWYgZGF6dXN0ZWxsZW4uIERpZSB2ZXJidW5kZW5lbiBEYXRlbnB1bmt0ZSBzdGVsbGVuIGRpZXNlbiBUcmVuZC4gRXMga8O2bm5lbiBlaW4gb2RlciBtZWhyZXJlIFphaGxlbnJlaWhlbiBpbiBlaW5lbSBMaW5pZW5kaWFncmFtbSBkYXJzdGVsbGVuLg0KDQoNCiMgQmVzY2hyZWlidW5nDQoNCkVpbiBMaW5pZW5kaWFncmFtbSAoYXVjaCBLdXJ2ZW5kaWFncmFtbSkgaXN0IGRpZSBncmFwaGlzY2hlIERhcnN0ZWxsdW5nIGRlcyBmdW5rdGlvbmVsbGVuIFp1c2FtbWVuaGFuZ3MgendlaWVyIE1lcmttYWxlIGluIExpbmllbmZvcm0uIEltIEdlZ2Vuc2F0eiB6dW0gU3RyZXVkaWFncmFtbSBrYW5uIGVzIGpld2VpbHMgbnVyIGVpbiBXZXJ0ZXBhYXIgZ2ViZW4uIFZvcmF1c3NldHp1bmcgZsO8ciBkaWUgRGFyc3RlbGx1bmcgaW4gUiBpc3QsIGRhc3MgZGllIERhdGVuIGRlciBWYXJpYWJsZSBhdWYgZGVyIHgtQWNoc2Ugc29ydGllcnQgdm9ybGllZ2VuIG3DvHNzZW4uDQoNCg0KIyBWb3JhdXNzZXR6dW5nDQoNCuKckyBEaWUgenUgdW50ZXJzdWNoZW5kZW4gTWVya21hbGUgc29sbHRlbiBtZXRyaXNjaCBzZWluLg0KDQoNCiMgR2VzdGFsdHVuZw0KDQojIyMgZWluZmFjaA0KICsgY2xlYW4gDQogKyBndXQgbGVzZWJhcg0KICsgRmFyYmVuDQogKyBBY2hzZW4gc2ljaHRiYXIgdW5kIHJpY2h0aWcgYmVzY2hyZWliZW4NCiANCiMjIyBtZWhyZmFjaCANCiArIGFuZGVyZSBTeW1ib2xlIA0KICsgRmFyYmVuIChidW50KQ0KIA0KIA0KDQojIERhdGVuDQoNCg0KYGBge3J9DQpkYXRhIDwtIGRhdGEuZnJhbWUoDQogIG5hbWU9YyggcmVwKCJBIiw1KSwgcmVwKCJCIiw1KSksDQogIHZhbHVlPWMoIDE5OTA6MTk5NCAsIDE5OTA6MTk5NCksDQogIHZhbHVlMT1jKCAxOjUgLCA4OjEyKQ0KKQ0KI1ZpZXcoZGF0YSkNCmBgYA0KDQpgYGB7cn0NCmRhdGExIDwtIGRhdGEuZnJhbWUoDQogICAgdmFsdWUxPWMoIDE5OTA6MTk5OSksDQogICAgdmFsdWUyPWMocm5vcm0oMTAsIDEyLCA1KSkNCiAgIA0KKQ0KI1ZpZXcoZGF0YTEpDQpgYGANCiANCiANCiMgIENvZGUNCg0KDQojIyMgQmFzZQ0KICANCg0KYGBge3J9DQpwbG90KGRhdGExJHZhbHVlMSxkYXRhMSR2YWx1ZTIsICAjIERhdGVuIHggZGFubiB5DQogICAgIHR5cGU9Im8iLCAjIExpbmllbnR5cGVuIHp1ciBBdXN3YWhsIHN0ZWhlbiBvLCBsLCBiLCBwDQogICAgIG1haW4gPSAiSWNoIGJpbiBlaW5lIFplaXRyZWloZSIsICMgw5xiZXJzY2hyaWZ0DQogICAgIHhsYWI9ICJaZWl0IGluIEphaHJlbiIsICN4LUFjaHNlDQogICAgIHlsYWIgPSAiQW56YWhsIC8gU3TDvGNremFobGVuIiwjeS1BY2hzZQ0KICAgICBwY2g9IDE3LCAjIFNoYXBlIGRlciBQdW5rdGUgDQogICAgIGNvbD0iZGFya2dyYXkiKQ0KYGBgDQoNCg0KYGBge3J9DQpBIDwtc3Vic2V0KGRhdGEsIGRhdGEkbmFtZSA9PSJBIikgIyBTdWJzZXQgLT4gRGF0ZW5hbnBhc3Nlbg0KQiA8LXN1YnNldChkYXRhLCBkYXRhJG5hbWUgPT0iQiIpDQoNCmBgYA0KICANCiAgDQpgYGB7cn0NCg0KDQpwbG90KEEkdmFsdWUsIEEkdmFsdWUxLCAjIERhdGVuIA0KICAgICB0eXBlID0gImIiLCNMaW5pZQ0KICAgICBmcmFtZSA9IEZBTFNFLCANCiAgICAgcGNoID0gMTksICNGb3JtDQogICAgIGNvbCA9ICJyZWQiLCB4bGFiID0gIngiLCB5bGFiID0gInkiLCNGYXJiZSwgWC1BY2hzZS1CZXplaWNobnVuZyAsIHktQWNoc2UtQmV6ZWljaG51bmcNCiAgICAgeWxpbSA9IGMoMSwxNSkpI0JlcmVpY2ggZGVyIHktQWNoc2UNCg0KDQpsaW5lcyhBJHZhbHVlLCBCJHZhbHVlMSwgIyBXZWl0ZXJlIExpbmllICsgRGF0ZW4NCiAgICAgIHBjaCA9IDE4LCAjRm9ybQ0KICAgICAgY29sID0gImJsdWUiLCNGYXJiZQ0KICAgICAgdHlwZSA9ICJiIiwgI0xpbmllbmFydA0KICAgICAgbHR5ID0gMikgI0xpbmllIC0gZHVyY2hnZXpvZ2VuIA0KDQoNCmxlZ2VuZCgidG9wbGVmdCIsICAjIExlZ2VuZGUNCiAgICAgICBsZWdlbmQ9YygiTGluZSAxIiwgIkxpbmUgMiIpLCAgI0JlemVpY2hudW5nIGRlciBMZWdlbmRlDQogICAgICAgY29sPWMoInJlZCIsICJibHVlIiksICMgRmFyYmUgZGVyIExlZ2VuZGUNCiAgICAgICBsdHkgPSAxOjIsI0xpbmllIC0gZHVyY2hnZXpvZ2VuIC8gZ2VzdGljaGVsdCANCiAgICAgICBjZXg9MC44KSNHcsO2w59lIGRlciBGb3JtDQoNCg0KDQpgYGANCiAgDQogIA0KDQojIyMgZ2dwbG90DQogIA0KYGBge3Igd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoaHJicnRoZW1lcykNCg0KZ2dwbG90KGRhdGExLCAjRGF0ZW5zYXR6DQogICAgICAgYWVzKHg9YXMuaW50ZWdlcih2YWx1ZTEpLCB5PXZhbHVlMikpICsgIyBWYXIuIGVpbmdlbGVzZW4NCiAgDQogIA0KICBnZW9tX2xpbmUoIGNvbG9yPSJkYXJrZ3JheSIsICMgTGluaWUgKyBGYXJiZSBkZXIgTGluaWUgZ3JhdQ0KICAgICAgICAgICAgIHNpemU9MC4yLCAjIEdyw7bDn2UgOiBrbGVpbg0KICAgICAgICAgICAgIGFscGhhPTEsICAgIyBUcmFuc3BhcmVueiAxIC0+IHNlaHIgZ3V0IGxlc2Jhcg0KICAgICAgICAgICAgIGxpbmV0eXBlPTEpICsgIyBMaW5pZW5hcnQNCiAgDQogICBnZW9tX3BvaW50KGFscGhhPSAwLjIsICMgVHJhbnNwYXJlbnogDQogICAgICAgICAgICAgIHNoYXBlID0gMTcsIyBGb3JtIC0gRHJlaWVjayANCiAgICAgICAgICAgICAgZmlsbD0iZ3JlZW4iLCAjIEZhcmJlIGRlciBTaGFwZQ0KICAgICAgICAgICAgICBzaXplPTYpKyAjIEdyw7bDn2UgDQogDQogICAgc2NhbGVfeF9sb2cxMCggYnJlYWtzPWMoMTk5MDoyMDAwKSkgKyAjUsOkbmdlIGbDvHIgZGllIFgtQWNoc2UNCiAgICBnZ3RpdGxlKCJaZWl0cmVpaGUiKSsgI0JlemVpY2hudW5nDQogICAgbGFicyh4PSJKYWhyIiwgeT0iQW56YWhsZSAvIFN0w7xjayIpICAgICsgIyBBY2hzZW5iZXplaWNobnVuZw0KICANCiAgdGhlbWUocGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChzaXplID0gMC41LCBmaWxsID0gIndoaXRlIiwgY29sb3VyID0gImdyYXkiLCBsaW5ldHlwZT0nc29saWQnKSwNCnBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoc2l6ZSA9IDAuNSwgbGluZXR5cGUgPSAnc29saWQnLCBjb2xvdXIgPSAiZ3JheSIpLA0KcGFuZWwuZ3JpZC5taW5vciA9IGVsZW1lbnRfbGluZShzaXplID0gMC41LCBsaW5ldHlwZSA9ICdzb2xpZCcsIGNvbG91ciA9ICJncmF5IiksDQpwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJ3aGl0ZSIpICMgUmFzdGVyDQopDQoNCmBgYA0KDQogIA==