Próbuję wykreślić 2 linie ciągłe w 2 różnych kolorach dla każdej grupy, ale także dodać przerywane linie tego samego koloru wokół tych linii, a następnie dodać legendę . Z jakiegoś powodu mam problem z używaniem "przerywanych" lub "przerywanych", wydaje się, że dwa razy rysuję linie przerywane. Nie otrzymuję również legendy, otrzymuję błąd Adding another scale for 'colour', which will replace the existing scale
.ggplot2 narysuj linie przerywane o tym samym kolorze, co linie ciągłe należące do różnych grup
Czy możesz mi pomóc wyjaśnić, co robię źle? Oto przykład zbiór danych, a co próbowałem:
x <- c(10, 20, 50, 10, 20, 50)
mean = c(52.4, 98.2, 97.9, 74.1, 98.1, 97.6)
group = c(1, 1, 1, 2,2,2)
upper = c(13.64, 89, 86.4, 13.64, 89, 86.4)
lower = c(95.4, 99.8, 99.7, 95.4, 99.8, 99.7)
data <- data.frame(x=x,y=mean, group, upper, lower)
ggplot(data, aes(x = x, y= mean, group = as.factor(data$group), colour=as.factor(data$group))) + geom_line() + geom_point() + geom_line(data=data,aes(x=x, y=lower, group = as.factor(data$group), colour=as.factor(data$group), linetype="dotted")) + geom_line(data=data,aes(x=x, y=upper, group = as.factor(data$group), colour=as.factor(data$group), linetype="dotted")) + scale_color_manual(values=c("red", "blue")) + scale_colour_discrete(name="Groups")
Próbowałem również z geom_ribbon
, ponownie bez powodzenia dla grupy części ...
ggplot(data, aes(x = x, y= mean, group = group)) + geom_line() +
geom_ribbon(aes(ymin = lower, ymax = upper)) +
geom_line(aes(y = mean), colour = "Mean")) +
scale_colour_manual(name = "", values = c("Group1", "Group2"))
Dziękuję Didzis! Również za wyjaśnienie! Ciągle wygląda na to, że linie ciągłe są najpierw wykropkowane, a potem solidne ... W każdym razie jest o wiele bliższe temu, co próbowałem zrobić! – user2337032
Dokładnie tego szukałem (to dziwne tworzenie kropkowanej linii przy użyciu moich prawdziwych danych, ale mam nadzieję, że uda mi się to naprawić, zmieniając rozmiar głównych linii). Dziękuję Ci! – user2337032
@ user2337032 Zaktualizowano moją odpowiedź, aby rozwiązać problem, który linia przerywana została pokazana w legendzie. –