Как я могу контролировать геометрию, включенную в легенды ggplot2? - PullRequest
0 голосов
/ 23 июня 2019

Я хотел бы знать, как я могу изменить геометрию, которая появляется в моих легендах.

Вот мой пример:

stockmlp %>%
  ggplot(aes(y = RMSE, x = Depth, color = Depth)) +
  geom_boxplot(alpha = 0) +
  geom_point(size = 10, alpha = 0.5) +
  facet_wrap(~Stock, scales="free_y")

geom_boxplot с geom_point

Я думаю, что guides(color = guide_legend(override.aes = list( ))) может сработать, но я не знаю, что добавить в список.

Я хочу удалить рамку коробочного графика из цветовой легенды, чтобы она толькопоказывает цветной круг.

Ответы [ 2 ]

0 голосов
/ 23 июня 2019

Чтобы удалить серый фон за легендой, вы можете использовать следующее:

+ theme(legend.key = element_blank())

Левый удален, правый по умолчанию:

removed present

0 голосов
/ 23 июня 2019

Вы не можете изменить, какие geoms отображаются в легенде с помощью функции guides, вы можете изменить только их внешний вид (например, заголовок, эстетика ...).

Один из вариантов здесь заключается в том, чтобы эстетика color применялась только к точкам, не указывая ее в основном вызове ggplot, а только в geom_point, но это приводит к тому, что боксы не будут окрашены:

stockmlp %>%
  ggplot(aes(y = RMSE, x = Depth)) +
  geom_boxplot(alpha = 0) +
  geom_point(size = 10, alpha = 0.5, aes(color = Depth)) +
  facet_wrap(~Stock, scales="free_y")

Лучший вариант - указать, чтобы в вызове geom не отображалась легенда:

stockmlp %>%
  ggplot(aes(y = RMSE, x = Depth, color = Depth)) +
  geom_boxplot(alpha = 0, show.legend = F) +
  geom_point(size = 10, alpha = 0.5) +
  facet_wrap(~Stock, scales="free_y")
...