Legende mit point und line in R
Ich habe zwei Sätze von Daten (x1, y1) und (x1, y2). Ich machte eine regression für jeden Satz und möchte zeichnen Sie auf dem gleichen Grundstück (mit den beiden Punkten und der Regressionsgeraden). Hier ist mein code
x1 <- 1:5
y1 <- x1 + rnorm(x1)
y2 <- x1 + 2 + rnorm(x1)
fit1 <- lm(y1 ~ x1)
fit2 <- lm(y2 ~ x1)
plot(x1, y1, pch = 1, ylim = c(min(y1, y2), max(y1, y2)), xlab = "x", ylab = "y")
points(x1, y2, pch = 2)
abline(fit1, lty = 1)
abline(fit2, lty = 2)
legend("topleft", legend = c("Line 1", "Line 2"), pch = c(1, 2), lty = c(1, 2))
Dies ist, was ich habe.
Was will ich eigentlich in der Legende ist der Punkt und die Linie nebeneinander statt übereinander, das sollte dann so Aussehen.
Jeder schlägt sind wir sehr dankbar!
- Ich habe es nie versucht, aber vielleicht das argument
merge=FALSE
trennen Sie das symbol aus der Linie? - Ich habe es versucht. Jetzt sind die Symbole setzen am Ende der Zeilen, aber noch nicht getrennt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, man kann es so machen:
Den Abstand vielleicht etwas umständlich, aber es wird die Zeile und das symbol voneinander getrennt. Wenn Sie beabsichtigen, mehrere line-symbol-Paare in Ihre Legende, sicher sein, um die Dinge so einzurichten, wie z.B.
lty=c(1,2,3,NA,NA,NA)
.Zwar nicht sehr elegant, Sie könnte leicht machen zwei Legenden nebeneinander. Die Koordinaten der Legende Standort kann gespeichert werden, für eine einfache Referenz (z.B. in
lgd
Objekt unten):Ex.
Mir persönlich gefällt @CarlWitthoft Lösung...