ggplot - Legende fehlt

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
tkpaulsen
Beiträge: 4
Registriert: Do Jan 30, 2020 1:51 pm

ggplot - Legende fehlt

Beitrag von tkpaulsen »

Hallo zusammen

ich habe das Problem, dass ich gern mit ggplot2 versuchen würde eine Zeitreihe verschiedener Messungen darzustellen. Das funktioniert soweit gut,
nur leider zeigt mir der Plot ums verrecken keine Legende an. Ich stehe irgendwie auf dem Schlauch und das nun seit Stunden. Vielleicht kann mir jemand einen wertvollen Hinweis geben? Unten ein AUszug aus dem Dataframe und danach einer meiner zahllosen Versuche.

Bild

Code: Alles auswählen

ggplot()+ 
+   geom_line(data=WGLA, aes(y=Gesamt, x=Datum), color="darkblue", size=1) +
+   geom_line(data=WGLA, aes(y=Zweirad,x=Datum), color="green", size=1)+
+   scale_linetype_discrete("Y series", labels = c("Gesamt", "Zweirad"))
Liebe Grüsse
tk
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: ggplot - Legende fehlt

Beitrag von Athomas »

s.u.
tkpaulsen
Beiträge: 4
Registriert: Do Jan 30, 2020 1:51 pm

Re: ggplot - Legende fehlt

Beitrag von tkpaulsen »

Entschuldigung!

Hier die gesamte Anwendung, vielleicht liegt der Fehler ja auch woanders, schon beim einlesen der Datei und dem verarbeiten der Daten...

Die csv Datei, die eingelesen wird und dem ganzen zugrunde liegt: http://www.justicar.de/zst.csv

Code: Alles auswählen

library(lubridate)
library(dplyr)
library(ggplot2)
library(scales)

x <- read.csv2(file="zst.csv", header=TRUE, sep=";")
dferweitern <- function(x){
  
  x$Datum <- dmy_hms(x$Datum) #Datum zur weiterverarbeitung formatieren.
  x <- cbind(x, wday(x$Datum)) #Wochentag
  x <- cbind(x, quarter(x$Datum)) #Viertelstunde als Spalte anhaengen
  x <- cbind(x, if_else(x$Fahrzeug == "Zweirad",1,0)) #Zweirad als Spalte anhaengen
  x <- cbind(x, if_else(x$Fahrzeug == "PW/Lfw",1,0)) #PW/LFW als Spalte anhaengen
  x <- cbind(x, if_else(x$Fahrzeug == "LKW",1,0)) #LKW als Spalte anhaengen
  x <- cbind(x, if_else(x$Fahrzeug == "Lastzug",1,0)) #Lastzug als Spalte anhaengen
  x <- cbind(x, date(as.Date(x$Datum))) #Datum
  rename(x,)
  names(x)[1] <- "DatumUhrzeit"
  names(x)[2] <- "Geschwindigkeit"
  names(x)[3] <- "Richtung"
  names(x)[4] <- "Abstand"
  names(x)[5] <- "Laengecm"
  names(x)[6] <- "Art"
  names(x)[7] <- "Wochentag"
  names(x)[8] <- "Viertelstunde"
  names(x)[9] <- "Zweirad"
  names(x)[10] <- "PWLfw"
  names(x)[11] <- "LKW"
  names(x)[12] <- "Lastzug"
  names(x)[13] <- "Datum2"
  return (x)
  
}

x <- dferweitern(x)
r <- "Ankommend"
WGLA <- x %>% group_by(floor_date(x$DatumUhrzeit, unit = "hour")) %>% filter(Richtung %in% r) %>% summarise(Gesamt = n(),Zweirad = sum(Zweirad),PWLfw = sum(PWLfw),LKW = sum(LKW),Lastzug = sum(Lastzug))
names(WGLA)[1] <-"Datum" 
ggplot()+ 
  geom_line(data=WGLA, aes(y=Gesamt, x=Datum), color="darkblue", size=1) +
  geom_line(data=WGLA, aes(y=Zweirad,x=Datum), color="green", size=1)+
  scale_linetype_discrete("Y series", labels = c("Gesamt", "Zweirad"))
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: ggplot - Legende fehlt

Beitrag von Hufeisen »

Wenn Du color innerhalb der Funktion aes() setzt, wird diese auch in die Legende aufgenommen.
tkpaulsen
Beiträge: 4
Registriert: Do Jan 30, 2020 1:51 pm

Re: ggplot - Legende fehlt

Beitrag von tkpaulsen »

Oh ich bin so dankbar! Ich habe gewusst es muss irgendwas ganz einfaches sein. im Grunde ist das vermutlich ja auch eine der Häufigsten Anwendungen. Aber ich habe im Internet wirklich lange gesucht und nichts gefunden oder es nicht erkannt.

Danke!

Liebe Grüsse
Timo
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: ggplot - Legende fehlt

Beitrag von Athomas »

Hier die gesamte Anwendung, vielleicht liegt der Fehler ja auch woanders, schon beim einlesen der Datei und dem verarbeiten der Daten...
Du hast es verstanden - das ist hier nicht selbstverständlich, großes Lob :D !
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: ggplot - Legende fehlt

Beitrag von Hufeisen »

ggplot bzw. das tidyverse in seinem ganzen Umfang ist schon kompliziert, aber die Systematik dahinter ist schon bemerkenswert eingängig. Ich habe im Dezember 2018 für etwa vier Stunden im Zug R for Data Science gelesen und für solche Hilfestellungen reicht das verbliebene Wissen noch aus. Deshalb auch eine ganz klare Empfehlung von mir, sich bei Gelegenheit dieses Buch vorzunehmen, wenn Du weiter mit ggplot arbeiten möchtest.
tkpaulsen
Beiträge: 4
Registriert: Do Jan 30, 2020 1:51 pm

Re: ggplot - Legende fehlt

Beitrag von tkpaulsen »

Danke für den Tip, ich habe mir mehrere Onlinetutorials durchgelesen, aber irgendwie beginnen (und enden) die alle mit Dingen, die ich so gar nicht brauche. Dazu kam ein UdemyKurs in dem ggplot nur sehr rudimentär behandelt wurde.
Antworten