Ответ 1
В зависимости от версии ggplot2, которую вы используете, вы получаете эту проблему. Используя ggplot2 vs 0.9.0 на R2.14.1, я получаю этот график:
который не содержит легенды для vline. В этой версии ggplot2 вы можете настроить появление легенды с помощью show_guide
:
ggplot(test, aes(value, fill=cond)) +
geom_density(alpha=0.5) +
labs(x='Energy', y='Density', fill='Group') +
opts(
panel.background=theme_blank(),
panel.grid.major=theme_blank(),
panel.grid.minor=theme_blank(),
panel.border=theme_blank(),
axis.line=theme_segment()
) +
geom_vline(data=test.cdf, aes(xintercept=value.mean, colour=cond),
linetype='dashed', size=1, show_guide = TRUE)
который воспроизводит вашу проблему. По умолчанию, show_guide = FALSE
. В более старых версиях вы можете добавить legend = FALSE
в geom_vline
, чтобы опустить легенду. Добавление legend = FALSE
по-прежнему работает в текущей версии, но оно выдает предупреждение:
Warning message:
In get(x, envir = this, inherits = inh)(this, ...) :
"legend" argument in geom_XXX and stat_XXX is deprecated. Use show_guide = TRUE or show_guide = FALSE for display or suppress the guide display.
Я бы рекомендовал обновить ggplot2
.