在X轴上使用`geom_line()`是因素 [英] Using `geom_line()` with X axis being factors

查看:319
本文介绍了在X轴上使用`geom_line()`是因素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个数据框:

  hist < -  data.frame(date = Sys.Date()+ 0 :13,
counts = 1:14)

我想绘制总数工作日,使用连接点。
下面将每个值放在上:

  hist < -  transform(hist ,周日=因子(星期日(日期),
等级= c('星期一','星期二','星期三','星期四','星期五','星期六','星期天'))
ggplot(hist,aes(x = weekday,y = counts))+ geom_point(stat ='summary',fun.y = sum)

当我尝试用一​​行( geom_line())连接它们时,ggplot抱怨每个组只有一个数据观察,因此无法在点之间画出一条线。



我明白这一点 - 它试图为每个工作日绘制一条线(因子水平)。 b
$ b

我怎样才能让ggplot只是假装(仅用于行的目的),平日是数字?也许我必须有另一个列 day_of_week ,其中星期一是0,星期二是1等?

解决如果我正确地理解了这个问题,指定 group = 1 并添加一个 stat_summary()层应该做的伎俩:

  ggplot(hist,aes(x = weekday,y = counts,group = 1)) + 
geom_point(stat ='summary',fun.y = sum)+
stat_summary(fun.y = sum,geom =line)


Suppose I have a dataframe:

hist <- data.frame(date=Sys.Date() + 0:13,
                   counts=1:14)

I want to plot the total count against weekday, using a line to connect the points. The following puts points on each value:

hist <- transform(hist, weekday=factor(weekdays(date),
                                       levels=c('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')))
ggplot(hist, aes(x=weekday, y=counts)) + geom_point(stat='summary', fun.y=sum)

When I try to connect them with a line (geom_line()), ggplot complains about only having one data observation per group and hence is not able to draw a line between the points.

I understand this - it's trying to draw one line for each weekday (factor level).

How can I get ggplot to just pretend (for the purposes of the line only) that the weekdays are numeric? Perhaps I have to have another column day_of_week that is 0 for monday, 1 for tuesday, etc?

解决方案

If I understand the issue correctly, specifying group=1 and adding a stat_summary() layer should do the trick:

ggplot(hist, aes(x=weekday, y=counts, group=1)) +
geom_point(stat='summary', fun.y=sum) +
stat_summary(fun.y=sum, geom="line")

这篇关于在X轴上使用`geom_line()`是因素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆