Seite 1 von 1

Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Verfasst: Di Feb 02, 2021 7:46 pm
von lotti1798
Hallo zusammen!
Ich habe einen Plot erstellt mit mehreren Zeitreihen (Datei angefügt) und einer Legende, welche sich außerhalb des Plots befindet.
Dafür habe ich diesen Code verwendet:

Code: Alles auswählen

hoehe <- read.csv2("Daten_forum.csv") 
year <- hoehe[1:71, 1] 
muenchen_annual <- hoehe[1:71, 3] 
berg_annual <- hoehe[1:71, 2] 

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 
lines(year, berg_annual, type="l", col="brown", lwd=2)
legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)
Nun möchte ich zu jener Grafik Trendlinien hinzufügen für die einzelnen Zeitreihen.
Dies ist an sich möglich, nur durch den xpd-Befehl werden die Linien auch außerhalb des Plots gezeichnet.

Code: Alles auswählen

Ntrend_muenchen <- lm(muenchen_annual~year)
Ntrend_berg <- lm(berg_annual~year)

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 
abline(Ntrend_muenchen, col="green", lwd=2, lty=2)
lines(year, berg_annual, type="l", col="brown", lwd=2)
abline(Ntrend_berg, col="brown", lwd=2, lty=2)
legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)
Nun meine Frage: Ist es möglich, die Trendlinien als abline innerhalb des Plots zu begrenzen und die Legende weiterhin außerhalb der Grafik darzustellen?
Ich hoffe, ich habe das nun verständlich erklärt.
csv-Datei mit Zeitreihen habe ich angehängt.

Ich würde mich sehr über Hilfe freuen!
Grüße, Lotti

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Verfasst: Di Feb 02, 2021 8:19 pm
von schubbiaschwilli
Gude!

Mir würde nur das händische Dazubasteln einfallen - Nicht unbeding schön, aber funkt.

Dank&Gruß
schubbiaschwilli

Code: Alles auswählen

Ntrend_muenchen <- lm(muenchen_annual~year)
Ntrend_berg <- lm(berg_annual~year)

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 

MinMax <- c(1950, 2020)

# abline(Ntrend_muenchen, col="green", lwd=2, lty=2)
alpha <- Ntrend_muenchen$coefficients[1]
beta <- Ntrend_muenchen$coefficients[2]
MinMax_Values <- MinMax*beta + alpha
lines(x=MinMax, y=MinMax_Values, col="green", lwd=2, lty=2)

lines(year, berg_annual, type="l", col="brown", lwd=2)
#abline(Ntrend_berg, col="brown", lwd=2, lty=2)
alpha <- Ntrend_berg$coefficients[1]
beta <- Ntrend_berg$coefficients[2]
MinMax_Values <- MinMax*beta + alpha
lines(x=MinMax, y=MinMax_Values, col="brown", lwd=2)

legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Verfasst: Di Feb 02, 2021 8:27 pm
von EDi
Du könntest vor dem abline xpd=FALSE setzten und danach wieder auf TRUE...

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Verfasst: Di Feb 02, 2021 8:54 pm
von schubbiaschwilli
Gude!

Mit

Code: Alles auswählen

par(xpd=FALSE)
par(xpd=TRUE)
geht's auch... OK.

Dank&Gruß
schubbiaschwilli

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Verfasst: Di Feb 02, 2021 9:49 pm
von lotti1798
Vielen Dank euch Beiden!
Da habe ich ja jetzt die Qual der Wahl... super! ;)