这似乎是他的ggplot2书中Hadley的一些例子的类似例子,但我似乎无法做到这一点。 给出:
off = c(0, 2000, 4000, 6000, 25, 3000, 6050, 9000)
tim = c( 0, -100, -200, -300 -25, -125, -225, -325)
col = c( 1, 1, 1, 1, 2, 2, 2, 2)
dataf = data.frame(off, tim, col)
p = ggplot(dataf, aes(off, tim, color=col)) + geom_point() + geom_line()
p
我认为这应该绘制这八个点,并在col = 1的前四个点绘制一条线,在col = 2的情况下在最后四个点绘制另一条线。但是我最终得到的是一条红色交替的线和蓝色部分。
为什么?!
答案 0 :(得分:6)
因为col
是数字。分组设置为因子变量的相互作用,但由于没有线条被绘制为单个组。您可以将col
更改为系数
ggplot(datf, aes(off, tim, color=factor(col))) + geom_point() + geom_line()
或手动设置分组
ggplot(datf, aes(off, tim, color=col, group=col)) + geom_point() + geom_line()