Добавить легенду в geom_vline

Я знаю, что этот вопрос уже задавался, но решения, похоже, не работают для меня.

То, что я хочу сделать, это представить мои средние, средние, верхние и нижние квантили на гистограмме разными цветами, а затем добавить легенду к графику. Это то, что я до сих пор, и я пытался использовать scale_color_manual а также scale_color_identity дать мне легенду. Кажется, ничего не работает.

quantile_1 <- quantile(sf$Unit.Sales, prob = 0.25)
quantile_2 <- quantile(sf$Unit.Sales, prob = 0.75)

ggplot(aes(x = Unit.Sales), data = sf) + 
  geom_histogram(color = 'black', fill = NA) + 
  geom_vline(aes(xintercept=median(Unit.Sales)),
            color="blue", linetype="dashed", size=1) + 
  geom_vline(aes(xintercept=mean(Unit.Sales)),
            color="red", linetype="dashed", size=1) +
  geom_vline(aes(xintercept=quantile_1), color="yellow", linetype="dashed", size=1)

результирующий сюжет

1 ответ

Решение

Вам нужно отобразить цвет внутри aes:

ggplot(aes(x = Sepal.Length), data = iris) + 
  geom_histogram(color = 'black', fill = NA) + 
  geom_vline(aes(xintercept=median(iris$Sepal.Length),
                 color="median"), linetype="dashed",
             size=1) +
  geom_vline(aes(xintercept=mean(iris$Sepal.Length),
                 color="mean"), linetype="dashed",
             size=1) +
  scale_color_manual(name = "statistics", values = c(median = "blue", mean = "red"))

результирующий сюжет

Другие вопросы по тегам