Я пытаюсь установить цвет по умолчанию для всех геометров в ggplot для чего-то другого, кроме черного. Обратите внимание, что речь идет не о настройке scale_color...
Простой пример:
# linear model with confidence bands...
set.seed(1)
df <- data.frame(x=1:50, y=5 + 2*(1:50)+rnorm(50,sd=10))
lm <- lm(y~x,df)
se <- summary(lm)$sigma # standard error of fit
Z <- qnorm(0.05/2,lower.tail=F) # 95% confidence bands
df <- cbind(df,predict(lm,se.fit=T)[c("fit","se.fit")])
# plot the result...
library(ggplot2)
ggplot(df, aes(x=x)) +
geom_point(aes(y=y), size=3) +
geom_line(aes(y=fit)) +
geom_line(aes(y=fit+Z*se.fit), linetype=2)+
geom_line(aes(y=fit-Z*se.fit), linetype=2)
Теперь, предположим, я хочу сделать все красным. Оставив в стороне целесообразность этого, я бы подумал, что ggplot(df, aes(x=x), colour="red")
сделает это. Но параметр colour=
, кажется, игнорируется: все по-прежнему остается черным. Я могу добавить colour="red"
к каждому вызову geom_
, но я пытаюсь избежать этого.
Edit:
Использование ggplot(df, aes(x=x, color="red"))
не является параметром, поскольку оно создает цветовую шкалу с использованием палитры ggplot по умолчанию (равномерно распределенной вокруг круга цветов HSL). С одним цветом это #F8766D
, что бывает светло-красным. Кроме того, это создает легенду, которая затем должна быть скрыта.