Как связать точки на этом графике линией с помощью ggplot? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть небольшой средний доход по возрастным группам. Я могу построить ggplot, который отображает точки среднего дохода для каждой возрастной группы. Мой вопрос в том, как провести прямые линии между каждой точкой? Насколько я понимаю, geom_line должен выполнить sh это, но по какой-то причине у меня это не работает.

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

library(tidyverse)

# This is the exact tibble I'm using (code generated using dput):

trouble <- structure(list(agegroup = structure(1:17, .Label = c("[15,20]", 
                                                     "(20,25]", "(25,30]", "(30,35]", "(35,40]", "(40,45]", "(45,50]", 
                                                     "(50,55]", "(55,60]", "(60,65]", "(65,70]", "(70,75]", "(75,80]", 
                                                     "(80,85]", "(85,90]", "(90,95]", "(95,100]"), class = "factor"), 
               inctot = c(4100, 20000, 32000, 39800, 45500, 45000, 42950, 
                          43200, 41200, 37000, 26000, 26000, 20650, 24000, 25500, 23115, 
                          1900)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
                                                                                          -17L))

# Create a scatterplot of the points:

ggplot(trouble,aes(x = agegroup, y = inctot)) +
  geom_point()

Это работает точно так, как ожидалось. Но если я попытаюсь запустить

ggplot(trouble,aes(x = agegroup, y = inctot)) +
  geom_point() +
  geom_line()

, это даст мне ошибку

geom_path: Каждая группа состоит только из одного наблюдения. Вам нужно настроить группу aestheti c?

Все, что я хочу сделать, это соединить эти точки линиями. Как?

1 Ответ

0 голосов
/ 08 мая 2020

Это решает проблему:

ggplot(trouble,aes(x = agegroup, y = inctot,group=1)) +
    geom_point() +
    geom_line()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...