Вопрос очень похож на вопрос, который задан здесь. Однако в этой ситуации параметры заполнения для двух графиков различаются. В моей ситуации параметр заливки одинаков для обоих графиков, но мне нужны разные цветовые схемы.
Я хотел бы вручную изменить цвет коробчатых диаграмм и точечных диаграмм (например, сделать прямоугольники белыми, а точки - цветными).
Пример:
require(dplyr)
require(ggplot2)
n<-4*3*10
myvalues<- rexp((n))
days <- ntile(rexp(n),4)
doses <- ntile(rexp(n), 3)
test <- data.frame(values =myvalues,
day = factor(days, levels = unique(days)),
dose = factor(doses, levels = unique(doses)))
p<- ggplot(data = test, aes(x = day, y = values)) +
geom_boxplot( aes(fill = dose))+
geom_point( aes(fill = dose), alpha = 0.4,
position = position_jitterdodge())
Использование scale_fill_manual () заменяет эстетику как на прямоугольной, так и на точечной диаграмме.
Я нашел хитрость, добавив «цвет» к geom_point, а затем, когда я использую scale_fill_manual (), цвета точки разброса не меняются:
p<- ggplot(data = test, aes(x = day, y = values)) +
geom_boxplot(aes(fill = dose), outlier.shape = NA)+
geom_point(aes(fill = dose, colour = factor(test$dose)),
position = position_jitterdodge(jitter.width = 0.1))+
scale_fill_manual(values = c('white', 'white', 'white'))
Есть ли более эффективные способы получить такой же результат?