Вы так близки!
В вашем коде выше ggplot интерпретирует вашу заливку как переменные в вашем наборе данных darkgreen
и factor firebrick
- и не имеет никакого способа зная, что эти метки являются цветами , а не, скажем, названиями видов животных.
Если вы добавите scale_fill_identity()
в конец вашего графика, как показано ниже, он будет интерпретировать эти строки в виде цветов (идентификатор ), а не как функции данных.
Одно из преимуществ этого подхода - отличный ответ от превосходного марата выше: если у вас сложный сюжет (скажем, , используя geom_segment()
, со стартовым значением и конечным значением для каждого наблюдения), и вы хотите применить две заполняющие шкалы на своих данных (одна шкала для начального значения и другая шкала для конечного значения), вы можете выполнить условное логики на этапе обработки данных, затем используйте scale_fill_identity()
для соответствующего цветного наблюдения.
ggplot(
data=dist.x,
aes(
x = sim_con,
fill = ifelse(dist.x$sim_con==1.55, "darkgreen", "firebrick")
)
) +
geom_histogram(
colour = "black",
binwidth = .01
) +
theme(legend.position="none") +
scale_fill_identity()