Линии графика и групповая эстетика в ggplot2

Этот вопрос следует из более раннего вопроса и ответов на него.

Сначала немного игрушечных данных:

df = read.table(text = 
"School      Year    Value 
 A           1998    5
 B           1999    10
 C           2000    15
 A           2000    7
 B           2001    15
 C           2002    20", sep = "", header = TRUE)

Первоначальный вопрос спрашивал, как построить значение -Годовые линии для каждой школы. Ответы более или менее соответствуют p1 и p2 ниже. Но также рассмотрим p3.

library(ggplot2)

(p1 <- ggplot(data = df, aes(x = Year, y = Value, colour = School)) +       
   geom_line() + geom_point())

(p2 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) +       
  geom_line(aes(group = School)) + geom_point())

(p3 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) +       
  geom_line() + geom_point())

Оба p1 и p2 сделать работу. Разница между p1 и p2 заключается в том, что p1 обрабатывает Yearкак числовое значение, тогда как p2 рассматривает Yearкак фактор. Кроме того, p2 содержит эстетический groupв geom_line. Но когда эстетический groupопускается, как в p3, линии не рисуются

Вопрос :Почему эстетика groupнеобходима, когда переменная оси x -является фактором, но эстетика groupне нужна, когда переменная оси x -является числовой?

enter image description here

38
задан Community 23 May 2017 в 12:26
поделиться