ggplot 问题。折线图未填充

ggplot issues. Line chart not populating

这是示例数据。按照目前的构造,我没有得到任何显示。最终目标是有一个从左到右显示各种 indcodes 的折线图。为了让三行代表每个 indcode 的 avgemp 值,我缺少什么?

 library(dplyr)
 library(ggplot2)

 date1 <- c("2002-01-01","2002-02-01","2002-03-01","2002-01-01","2002-02-01","2002-03-01","2002-01-01","2002-02-01","2002-03-01")
 indcode <- c(7113,7113,7113,7112,7112,7112,7131,7131,7131)
 avgemp <- c(100,101,102,90,92,98,244,210,585)

 test1 <- data.frame(date1,indcode,avgemp)

 test1chart<- test1 %>% group_by(indcode) %>% ggplot(aes(x = date1, y = indcode))

 test1chart

您遇到了一些问题:

  • group_by 用于 dplyr,它对 ggplot
  • 没有任何作用
  • 名称不匹配:您的数据包含 date1 列,您的绘图代码使用 x = date
  • y-axis 上发生了什么?如果你想要每个 indcode 一行,那么可能是 y = avgemp,而不是 indcode
  • 告诉ggplot连接什么点(这就是“群”审美)aes(group = indcode)
test1 %>%
  ggplot(aes(x = date1, y = avgemp, group = indcode)) +
  geom_line()

您可能想要进行的其他更改:

  • 想要区分线条吗?也许按颜色?把 color = factor(indcode) 放在 aes()

    里面
  • 有很多数据,不想标记每个日期?或者也许你的日期间隔不规则?通过将 date1 列转换为 Date class,停止将其视为分类列:test1 <- test1 %>% mutate(date1 = as.Date(date1)