Я просмотрел предыдущие аналогичные вопросы и (я думаю) сделал все, что было рекомендовано в них. Я все еще не получаю вывод.Добавление легенды руководства в ggplot
У меня есть куча дистрибутивов, которые я показываю на гранях графиков. Затем я рисую через них вертикальные линии, которые представляют собой различные вмешательства.
Я пытаюсь показать легенду, содержащую как цвет заливки дистрибутивов, так и цвет линии этих дополнительных строк. Насколько я могу судить, я делаю все правильно (установив команду цвета в пределах aes()
, используя scale_colour_manual()
, чтобы определить легенду и т. Д.). Я все еще получаю легенду о цветах заливки.
Вот мой код:
ggplot(modCosts, aes(x=cost)) + geom_density(aes(fill=group)) + theme_bw() +
facet_wrap(~ country, scales="free") + scale_x_continuous(label = dollar) +
scale_fill_brewer(palette = "RdGy", name = "Income group", labels = c("HIC" = "High income", "UMIC" = "Upper-middle income", "LIC" = "Low income")) +
labs(y = "Density", x = "Cost", title = "Medical costs of surgery\nActual vs. modeled") +
geom_vline(data = surgCosts, aes(xintercept = CS.tert.lo, color = "red4")) +
geom_vline(data = surgCosts, aes(xintercept = CS.tert.hi, color = "red4")) +
geom_vline(data = surgCosts, aes(xintercept = CS.prim.lo, color = "red4"), lty = "dashed") +
geom_vline(data = surgCosts, aes(xintercept = CS.prim.hi, color = "red4"), lty = "dashed") +
geom_vline(data = surgCosts, aes(xintercept = Lap.tert.lo, color = "deepskyblue")) +
geom_vline(data = surgCosts, aes(xintercept = Lap.tert.hi, color = "deepskyblue")) +
geom_vline(data = surgCosts, aes(xintercept = Lap.prim.lo, color = "deepskyblue"), lty = "dashed") +
geom_vline(data = surgCosts, aes(xintercept = Lap.prim.hi, color = "deepskyblue"), lty = "dashed") +
geom_vline(data = surgCosts, aes(xintercept = Fx.tert.lo, color = "yellowgreen")) +
geom_vline(data = surgCosts, aes(xintercept = Fx.tert.hi, color = "yellowgreen")) +
scale_color_manual(name = "Reported cost", values = c("red4" = "red4", "deepskyblue" = "deepskyblue", "yellowgreen" = "yellowgreen"),
labels = c("Int1", "Int2", "Int3")) +
theme(axis.ticks = element_blank(), axis.text.y = element_blank(), legend.position = "right")
Любая помощь будет принята с благодарностью!
Это было бы намного проще, если бы вы предоставили свои наборы данных, предпочтительно используя, например, 'dput (modCosts)' и 'dput (surgCosts)'. – jlhoward
Существует аргумент 'show_guide = ...' для 'geom_vline (...)', который по умолчанию соответствует FALSE. – jlhoward
Я бы рекомендовал свернуть все эти слои в одну единственную геометрию с использованием единого кадра данных и отобразить цветную эстетику. – joran