使用ggplot生成带分类x的折线图?

时间:2017-08-26 16:04:27

标签: r ggplot2

假设我想绘制这个组成的人口数据。

dat <- data.frame(year_start_aby = c(-20, -10, 0, 10, -20, -10, 0, 10, -20, -10, 0, 10),
              year_end_aby = c(-10, 0, 10, 20, -10, 0, 10, 20, -10, 0, 10, 20),
              population = c(16000000, 19900000, 15300000, 16900000, 40000000, 55000000, 43100000, 50000000, 120000000, 125000000, 0, 0),
              planet = c("Tatooine", "Tatooine", "Tatooine", "Tatooine", "Naboo", "Naboo", "Naboo", "Naboo", "Alderaan", "Alderaan", "Alderaan", "Alderaan"))

我可以通过year_start_aby轻松地在连续的x轴上绘制人口,如下所示:

ggplot(dat, aes(year_start_aby, population, color = planet)) +
  geom_line() +
  theme_classic()

enter image description here

但是如果我想将x轴绘制为年份范围因子(-20 ABY - 0 ABY等)而不是连续年份值,我该怎么做?

帮助我,欧比旺克诺比 - 你是我唯一的希望。

1 个答案:

答案 0 :(得分:0)

你必须定义一个群体美学。

ggplot(dat, aes(x = factor(year_start_aby), y = population, group = planet, color = planet)) +
geom_line()

希望这有帮助。