Почему текст появляется в легенде?

library(ggplot2)
library(ggrepel)
set.seed(1234)
ss <- sample(1:32, 10)
df <- mtcars[ss, ]

ggplot(df, aes(wt, mpg))+ geom_point(col = "red") + 
  geom_label_repel(aes(label = rownames(df), fill = factor(cyl)), size = 5,
                   hjust = 1,fontface = 3)

Почему в легенде рядом с цифрами 4,6,8 стоит буква «а»?введите описание изображения здесь


person M.R.Wani    schedule 17.11.2018    source источник
comment
comment
это также может быть полезно: stackoverflow.com/questions/49989158/   -  person user20650    schedule 17.11.2018
comment
@ Хенрик правда. Однако следует отметить (даже если этого не было в вопросе ОП), предлагаемые там решения не работают для удаления a с ggrepel (они полностью удаляют легенду). Ссылка @ user20650 может предложить способ ее удаления (работает с ggraph, но я не проверял с ggrepel)   -  person prosoitos    schedule 17.11.2018
comment
@ Хенрик, это полностью удаляет легенду   -  person M.R.Wani    schedule 18.11.2018


Ответы (1)


a символизирует текст, добавленный geom_label_repel(), и соответствует шрифту, цвету и т. д. ваших ярлыков.

На картинке ниже показан один из демонстрационных примеров пакета ggrepel, показанный в виньетке с примерами пакетов:

введите здесь описание изображения

Вы можете увидеть то же самое, но с другими параметрами, переданными в качестве аргументов для geom_label_repel().

Если вы действительно хотите удалить букву «а» из легенды, вы можете переопределить ключ легенды, как показано здесь:

# save original legend key for later
oldK <- GeomLabelRepel$draw_key

# define new key without the text label
library(grid)
GeomLabelRepel$draw_key <- function (data, params, size) { draw_key_rect(data) }

# plot
ggplot(df, aes(wt, mpg))+ geom_point(col = "red") + 
  geom_label_repel(aes(label = rownames(df), fill = factor(cyl)), size = 5,
                  fontface = 3)

# reset key
GeomLabelRepel$draw_key <- oldK
person prosoitos    schedule 17.11.2018
comment
prosoitos: я надеюсь, что все в порядке, включая редактирование вашего ответа - если нет, откатитесь назад. - person user20650; 18.11.2018
comment
Меня устраивает. ОП не спрашивал, как удалить эти a, но я уверен, что это будет полезно либо им, либо другим, и, таким образом, даст лучший ответ. Спасибо за проверку :) - person prosoitos; 18.11.2018