Seite 1 von 1
ggplot - Legende fehlt
Verfasst: Sa Mär 28, 2020 11:48 pm
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.
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
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 11:07 am
von Athomas
s.u.
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 11:25 am
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"))
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 11:32 am
von Hufeisen
Wenn Du color innerhalb der Funktion aes() setzt, wird diese auch in die Legende aufgenommen.
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 11:38 am
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
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 11:54 am
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

!
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 12:04 pm
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.
Re: ggplot - Legende fehlt
Verfasst: So Mär 29, 2020 12:42 pm
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.