Измените ‘aaa’ из легенды geom_text на соответствующий текст метки

Подобно этому вопросу, а также this, я предпочитаю иметь легенду чтобы geom_text был текстовой меткой, а не aaa. (т.е. «ааа» внутри круга в легенде ребенка должно быть 0,1,2,3,4. См. прилагаемое изображение)

Вот мои данные:

data.frame( ID = c(1L, 3L, 5L, 11L, 13L, 18L, 20L, 24L, 33L, 34L, 36L), sum_hrs = c(12, 8, 68, 44, 16, 12, 36, 16, 4, 20, 4), avg_workload = c(263.1615,275.312,269.462444444444, 268.867666666667,276.686,257.3605,267.8695,268.3355, 239.409,260.230333333333,330.061), avg_achv = c(92.5,98,94.2222222222222, 94.8333333333333,92,98,94.25,93.5,98,95.3333333333333,100), mchild = c(1L, 0L, 1L, 2L, 3L, 0L, 4L, 0L, 2L, 0L, 1L), drinker = as.factor(c(«No»,»Yes»,»Yes», «Yes»,»Yes»,»No»,»Yes»,»Yes»,»No»,»No», «Yes»)) )

Я пробовал предложения ответов в связанных вопросах SO, но не смог заставить его работать. Скорее всего, у меня некорректная индексация гробов. Итак, я прочитал документацию, но до сих пор не могу ее понять. Вот что я сделал до сих пор:

p2 <- ggplot(data=sum_ua, aes(x=avg_achv, y=sum_hrs, size=mchild, color=drinker, alpha=sum_hrs)) + geom_point() + geom_text(data=sum_ua, aes(x=avg_achv, y=sum_hrs, label=mchild), color=’#A9A9A9′) + scale_size(range=c(4,20)) + scale_alpha_binned(range = c(0.01, 1), guide = ‘none’) + new_scale_color() g <- ggplotGrob(p2) lbls <- unique(sort(sum_ua$mchild)) g$grobs[[15]][[1]][[1]]$grobs[[1]]$label <- lbls[1] g$grobs[[15]][[1]][[1]]$grobs[[6]]$label <- lbls[2] g$grobs[[15]][[1]][[1]]$grobs[[8]]$label <- lbls[3] g$grobs[[grep(«guide», g$layout$name)]] grid.draw(g)

Вот мой результат:

Извините за основной вопрос и спасибо за вашу помощь!

Источник: ledsshop.ru

Стиль жизни - Здоровье!