Ниже приведен пример моих данных (только некоторые строки)
# plotshear data:
# Source Shear LLDF
# 1 Baseline EXT.Single 0.7627894
# 2 Samples EXT.Single 0.7130376
# 3 Baseline EXT.Multi 0.8521338
# 4 Samples EXT.Multi 0.7975502
# 5 Baseline INT.Single 0.5706947
# 6 Samples INT.Single 0.5462812
# 7 Baseline INT.Multi 0.7291602
# 8 Samples INT.Multi 0.7331171
# 9 AASHTO EXT.Multi 0.8250000
# 10 AASHTO INT.Single 0.7200000
# 11 AASHTO INT.Multi 0.8840000
Я использую следующий код для генерации своего боксплота и наложения точек «Базовая линия» и «AASHTO» сверху. Мне нужно, чтобы эти пункты были включены в мою легенду, но я не могу их отобразить.
library(reshape2)
library(ggplot2)
meltshear <- melt(Shear)
samples <- rep(c("Samples"), each = 10)
baseline <- c("Baseline",samples)
method <- rep(baseline, 4)
xlab <- rep(c("EXT.Single","EXT.Multi","INT.Single","INT.Multi"), each = 11)
plotshear <- data.frame(Source = c(method,"AASHTO","AASHTO","AASHTO"),
Shear = c(xlab,"EXT.Multi","INT.Single","INT.Multi"),
LLDF = c(meltshear[,2],0.825,0.720,0.884))
data <- subset(plotshear, Source %in% c("Samples"))
baseline <- subset(plotshear, Source %in% c("Baseline"))
AASHTO <- subset(plotshear, Source %in% c("AASHTO"))
ggplot(data = data, aes(x = Shear, y = LLDF, colour = Source)) + geom_boxplot(outlier.shape = NA) +
stat_summary(fun = mean, geom="point", shape=23, size=3) +
stat_boxplot(geom='errorbar', linetype=1, width=0.5) +
geom_jitter(data = baseline, colour = "green4") +
geom_jitter(data = AASHTO, colour = "red") +
scale_color_manual(values=c("black","green4","red"), labels=c("Samples","Baseline","AASHTO")) +
theme(legend.title=element_blank()) + ggtitle("Live Load Distribution Factors for Shear")
Я не уверен, как их переопределить. Точки «Базовая линия» и «AASHTO» не находятся в данных, используемых для построения графика, но я хочу, чтобы они были ориентирами на графике. Сюжет у меня выглядит так: