나는 2 주간의 데이터 (일주일 내내)를 나타내는 2 줄의 플롯을 가지고 있고, 추가 간격으로 2 줄의 평균을 나타내는 stat_summary 줄이있다. 주). 범례를 나타내는 라인에 대해 다양한 방법을 사용하여 평균을 나타내는 라인을 추가하려고하면 "수동 스케일의 값이 불충분합니다 .2 필요하지만 단 하나만 제공됨"에서 어떤 해결책을 찾고 있는지에 따라 오류 메시지가 나타납니다. 그룹 미학을 조정할 필요가있다. 전설에 평균을 추가하지 않고 코드를 작성했습니다. 재현 가능한 예제를 얻기 위해 2 주간의 데이터 만 표시하도록 단순화했습니다. 실제 코드에는 5 주간의 데이터가 있습니다. 지금은 scale_color_manual
을 어디에 두지 않는 것 같습니다.기존 범례에 stat_summary 행 추가하기
library(ggplot2)
cbPalette <- c("#E69F00", "#56B4E9", "#009E73", "#0072B2",
"#D55E00", "#999999")
col1 <- rep(c("Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday"), 2)
col2 <- c(rep(1, 7), rep(2, 7))
col3 <- c(9446,7681,11576,6788,11782,8414,7011,5321,5418,5533,6123,6924,12420,6313)
activitySleep <- data.frame(cbind(col1, col2, col3),
stringsAsFactors = FALSE)
colnames(activitySleep) <- c("DayOfWeek", "Week", "Steps")
activitySleep$DayOfWeek <- factor(activitySleep$DayOfWeek,
levels = c("Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday"))
activitySleep$Steps <- as.integer(activitySleep$Steps)
p1 <- ggplot(activitySleep, mapping = aes(x = DayOfWeek, y = Steps,
color = Week)) +
geom_line(aes(group = Week), lwd = 1.25) +
ggtitle("Step Tracker") +
theme(plot.title = element_text(hjust = 0.5)) +
xlab("Day of the Week") +
ylab("Number of Steps") +
scale_color_manual(values = cbPalette)
p1a <- p1 + stat_summary(fun.y = mean, geom = "line", color = "#999999",
aes(group = 1), lwd = 1.25)
p1a
나는 SO에 대한 다양한 답변을 검토 한 결과,하지만 내가 찾은 것도 지금까지 전설 "의미"를 추가 용액에 나를 가까이하지 않습니다. 나는 this, that 및 other과 같은 답변을 시도했습니다. ggplot 2.2.0을 사용하고 있습니다. 감사!
당신의 솔루션은 위에 제공된 데이터의 제한된 부분 집합에서 작동합니다. 실제 데이터 프레임에 더 많은 열이 있습니다. 내 전체 데이터 프레임에서 작동하지 않습니다. 내 데이터 프레임을이 열로 좁히고 거기에서부터 시작하겠습니다. 감사! –