4 개의 안내선이 필요한 곳에 산란 무늬가 있습니다. 필자는 플롯 스크립트에서 해당 라인을 직접 정의하기 위해 데이터 세트의 변수를 직접 사용하지 않았습니다. (수직선은 x 값의 평균과 중앙값이며 다른 두 줄의 기울기는 1과 0.5입니다.)
줄의 색을 정의하고 올바른 범례 레이블을 얻으려면 어떻게해야합니까? 내 플롯에서 색상과 레이블이 섞여 있습니다.ggplot2 : scale_colour_manual을 사용하여 라벨과 색상을 혼합하십시오.
대답하는 질문은 here (possibly duplicate) 위의 질문과 비슷하지만 완전하지 않다고 생각합니다. 이전의 질문은 scale_colour와 scale_fill_manual의 차이점과 전설을 얻기 위해 aes()를 포함하는 것이 중요하다고 생각합니다. geom_- 호출에서 값을 정의하지 않았고 scale_colour_manual()에서 값과 색상을 분리했기 때문에 제 질문은 범례 레이블과 색상을 혼합하는 것입니다.
내 코드 : 나중에 라인의 이름
library(dplyr)
df <- iris %>%
group_by(Species) %>%
do({
mod = lm(Sepal.Length~Petal.Length, data = .)
data.frame(Intercept = coef(mod)[1],
Slope = coef(mod)[2],
SD= summary(mod)$coefficients[2,2])
})
meanSlope <- mean(df$Slope)
medianSlope <- median(df$Slope)
library(ggplot2)
ggplot(data=df, aes(x=Slope, y=SD)) +
geom_point() +
scale_x_continuous(limits = c(0,1.0)) +
scale_y_continuous(limits = c(0,1.0))+
geom_abline(aes(intercept = 0, slope = 1, colour="red"), show.legend = TRUE) +
geom_abline(aes(intercept = 0, slope = 0.5, colour="blue"), show.legend = TRUE) +
geom_vline(aes(xintercept = meanSlope, colour= "green"), show.legend = TRUE) +
geom_vline(aes(xintercept= medianSlope, colour= "darkgreen"), show.legend = TRUE) +
scale_colour_manual(name="Guide lines", values=c("red", "blue", "green", "darkgreen"),
labels=c("1 SD", "0.5 SD", "mean", "median"))
의 중복 가능성 HTTP ://stackoverflow.com/questions/24063163/how-to-add-manual-colors-for-ag gplot2-geom-smooth-geom-line – akrun
[ggplot2 (geom \ _smooth/geom \ _line)의 수동 색상 추가 방법] (http://stackoverflow.com/questions/24063163/how-to-add - 수동 색상 - - - ggplot2 - 기하학 - 부드러운 기선 - 라인) – Axeman