geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?

爷,独闯天下 提交于 2020-03-12 07:47:17

 

# sample data
d <- data.frame(expand.grid(x=letters[1:4], g=factor(1:2)), y=rnorm(8))
 
# Figure 1a, 1b, and 1c.
ggplot(d, aes(x=x, y=y, colour=g)) + opts(title="Figure 1a") + geom_line() + geom_point()
ggplot(d, aes(x=x, y=y, colour=g, group=g)) + opts(title="Figure 1b") + geom_line() + geom_point()
ggplot(d, aes(x=x, y=y, colour=g, group=1)) + opts(title="Figure 1c") + geom_line() + geom_point()

 

The figure 1a does not draw any lines, while the figure 1b works well.
The key concept is “group” in aes.
The rule is simple:

  1. geom_line() tries to connect data points that belong to same group.
  2. different levels of factor variable belong to different group.

So, by specifying group=g in aes, the lines appear in Figure 1b.

Figure 1c would help to understand more.
In Figure 1c, all data points belong to group=1, hence all data points are connected.

 

REF:

http://www.markhneedham.com/blog/2015/01/30/r-ggplot2-each-group-consist-of-only-one-observation-do-you-need-to-adjust-the-group-aesthetic/

http://stackoverflow.com/questions/27082601/ggplot2-line-chart-gives-geom-path-each-group-consist-of-only-one-observation

https://kohske.wordpress.com/2010/12/27/faq-geom_line-doesnt-draw-lines/

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!