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)
这是示例数据。按照目前的构造,我没有得到任何显示。最终目标是有一个从左到右显示各种 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)