ggplot
по умолчанию предполагает show.legend=NA
в большинстве типов графиков в любом случае, если не указано иначе с помощью функции theme()
или show.legend=FALSE
.
Когда show.legend=NA
, , который является значением по умолчанию , ggplot
включает любую легенду, если сопоставлена любая эстетика .
Чтобы заставить ggplot
автоматически добавлять легенду, все, что вам нужно, это сопоставить col
или fill
с вашей эстетикой. То есть вы можете обернуть свои fill
или col
в aes()
. Следующий код не добавляет легенду:
ggplot(data=Male, aes(Male$Naval.Girth)) +
geom_histogram(aes(y =..density..),
breaks=seq(63, 123, by = 3),
col="black",
fill="black",
alpha=.7)
Но этот делает, и обратите внимание на aes(fill=Naval.Girth)
эстетическое отображение здесь:
ggplot(data=Male, aes(Male$Naval.Girth)) +
geom_histogram(aes(y =..density.., fill=Naval.Girth),
breaks=seq(63, 123, by = 3),
col="black",
alpha=.7)
Итак, еще раз, если вы хотите легенду, просто поместите цвета параметров заполнения в оболочку aes()
.