Estou tentando criar um gráfico no qual a estética de preenchimento seja mapeada para um fator ordenado, mas alguns níveis do fator não estão presentes nos dados. Os níveis de fator ausentes recebem cores de preenchimento por meio de scale_fill_manual()
, mas essas cores de preenchimento não são representadas pela legenda de preenchimento em meu gráfico.
Eu esperava drop = FALSE
mostrar scale_fill_manual()
todos os níveis do fator junto com sua cor de preenchimento, mas em vez disso ele retém os níveis e os mostra como tendo cores de preenchimento ausentes. Como posso fazer com que a legenda reflita o mapeamento especificado para a escala?
library(ggplot2)
factor_data <-
data.frame(
my_factor <-
factor("Level three",
levels = c("Level one", "Level two", "Level three", "Level four", "Level five"))
)
fill_colours <- colorRampPalette(c("green", "white"))(5)
fill_colours
#> [1] "#00FF00" "#3FFF3F" "#7FFF7F" "#BFFFBF" "#FFFFFF"
ggplot(factor_data) +
geom_bar(
aes(x = 1, fill = my_factor),
colour = "black", linewidth = 0.8) +
scale_fill_manual(name = "IMD Rank (England)",
values = fill_colours,
drop = FALSE) +
ggtitle("Deprivation of LLSOA")
Criado em 04/03/2024 com reprex v2.1.0