Я пытаюсь удалить название легенды в ggplot2
:
df <- data.frame(
g = rep(letters[1:2], 5),
x = rnorm(10),
y = rnorm(10)
)
library(ggplot2)
ggplot(df, aes(x, y, colour=g)) +
geom_line(stat="identity") +
theme(legend.position="bottom")
Я видел этот вопрос, и ни одно из предложенных здесь решений не работает для меня. Большинство из них выдают ошибку о том, как opts
устарело и использовать theme
вместо этого. Я также пробовал различные варианты theme(legend.title=NULL)
, theme(legend.title="")
, theme(legend.title=element_blank)
, сообщения и т.д. Типичные ошибки:
'opts' is deprecated. Use 'theme' instead. (Deprecated; last used in version 0.9.1)
'theme_blank' is deprecated. Use 'element_blank' instead. (Deprecated; last used in version 0.9.1)
Я использую ggplot2
впервые с момента выпуска версии 0.9.3, и мне трудно ориентироваться в некоторых изменениях ...
labs()
для этого: Добавьте строкуlabs(colour = "")
в свой код, которая создала график выше.Ответы:
Вы почти у цели: просто добавьте
theme(legend.title=element_blank())
Эта страница в Cookbook for R дает множество подробностей о том, как настраивать легенды.
источник
guide = guide_legend()
команда работает. Чтобы удалить заголовок легенды заливки, но сохранить заголовок цветной легенды, напримерscale_fill_brewer(palette = "Dark2", guide = guide_legend(title = NULL)) + scale_color_manual(values = c("blue", "white", "red"))
Это тоже работает, а также демонстрирует, как изменить заголовок легенды:
источник
theme_bw()
но не лучший в тех случаях, когда легенда имеет рамку вокруг нее и расположена где-то в области графика (мой обычный подход).scale_color_manual(name=element_blank())+
для нижней легенды решила это для меняelement_blank()
кажется, рекомендуемый подход. Настройкаname = NULL
- это другой способ.Другой вариант использования
labs
и установки цветаNULL
.источник
Для
Error: 'opts' is deprecated
.theme()
Вместо этого используйте . (Несуществующий; последний раз использовался в версии 0.9.1) 'Я заменилopts(title = "Boxplot - Candidate's Tweet Scores")
наlabs(title = "Boxplot - Candidate's Tweet Scores")
. Это сработало!источник
Поскольку в сюжете может быть более одной легенды, способ выборочно удалить только одно из заголовков, не оставляя пустого места, состоит в том, чтобы установить для
name
аргументаscale_
функции значениеNULL
, т.е.scale_fill_discrete(name = NULL)
(Престижность @pascal за комментарий к другой теме )
источник