У меня есть фигура, как показано ниже, и я хотел бы изменить порядок цветных линий от синего -> зеленого -> красного до r-> g-> b, так что это так же, как и приказ легенды. Я нашел несколько руководств для изменения порядка легенд, но я хочу сохранить его порядок в этом случае (так как они 1, 2 и 3).ggplot2: Измените порядок `color`
Вот код для генерации данных и фигуры.
population_num <- 100
population <- tibble(
gender = as.numeric(rbinom(population_num, 1, 0.5)),
age=rnorm(population_num, mean=50, sd=20),
score=rnorm(population_num, mean=80, sd=30),
setid=sample(c(1,2,3), size=population_num, replace=T)
)
temp <- population %>%
group_by(setid) %>%
do(model1 = tidy(lm(score ~ age, data = .)),
model2 = tidy(lm(score ~ age + gender, data = .))) %>%
gather(model_name, model, -setid) %>%
unnest() %>%
filter(term == "age")
interval1 <- -qnorm((1-0.9)/2)
ggplot(temp, aes(colour = as.factor(setid))) +
geom_hline(yintercept = 0, colour = gray(1/2), lty = 2) +
geom_linerange(aes(x = model_name, ymin = estimate - std.error*interval1,
ymax = estimate + std.error*interval1),
lwd = 1, position = position_dodge(width = 1/2)) +
scale_x_discrete(limits=c("model2", "model1"), labels=c("M2", "M1")) +
coord_flip()
(этот вопрос как-то спросил в японском Stackoverflow, но не могли получить ответы.)
Какой пакет является 'tidy' функция от? Я уверен, что я это уже видел, но «tidyverse» не дает результата – GGamba
@GGamba, это должно быть «метлой». – thepule
Просто измените 'position' на' position_dodge (width = -1/2) ' – alistaire