Удалите строки scale_color_viridis
и scale_fill_viridis
- они применяют цветовую шкалу Viridis. Заменить на scale_fill_manual(values = c(lightgreen, lightred, darkpurple))
. А в вашей эстетике c отображение замените color = variable
на fill = variable
. Для гистограммы color
обозначает цвет линий, очерчивающих каждый столбец, а fill
обозначает цвет, которым заполнен каждый столбец.
Это должно оставить вас с:
p <- density2 %>%
ggplot(aes(x = value, fill = variable)) +
geom_histogram(binwidth = 1, alpha = 0.5, position = "identity") +
scale_fill_manual(values = c(lightgreen, lightred, darkpurple)) +
theme_bw() +
labs(fill = "") +
theme(panel.grid = element_blank())
p + scale_y_sqrt() +
theme(legend.position = "none") +
labs(y = "data pts", x = "elevation (m)")
Я также провел другую уборку. show.legend = FALSE
не принадлежит внутри aes()
- и ваш theme(legend.position = "none")
должен позаботиться об этом.
Я не загрузил ваши данные, не сохранил их в своем рабочем каталоге, импортировал их в R и протестировал это код на это. Если вам нужна дополнительная помощь, пожалуйста, опубликуйте небольшое подмножество ваших данных в копируемом / вставляемом формате (например, dput(density2[1:20, ])
для первых 20 строк - выберите подходящее подмножество), и я буду рад протестировать и настроить.