2012-07-31 138 views
3

我有以下數據集:奇怪線與GGPLOT2

> str(dat) 
'data.frame': 5000 obs. of 3 variables: 
$ y: num 0.864 0.869 0.871 0.879 0.874 0.871 0.871 0.873 0.864 0.869 ... 
$ A: Factor w/ 5 levels "0.2","0.5","0.8",..: 1 1 1 1 1 1 1 1 1 1 ... 
$ x: num 1 2 3 4 5 6 7 8 9 10 ... 
> head(dat) 
     y A x 
1 0.864 0.2 1 
2 0.869 0.2 2 
3 0.871 0.2 3 
4 0.879 0.2 4 
5 0.874 0.2 5 
6 0.871 0.2 6 

的「X」列是向量c(1:5000)

> all(dat$x==1:5000) 
[1] TRUE 

因此繪圖時我不理解一些線的存在如下圖所示:

ggplot() + geom_line(aes(x=x, y=y, color=A), data=dat) 

我說的這幾行是用三個黑色的arro WS在圖中: ggplot

編輯:下面是一個類似的例子具有可再生的模擬數據集:

set.seed(666) 
mu <- rep(c(200, 400, 600, 300, 500), each=1000) 
A <- factor(rep(c(1,2,3,1,2), each=1000)) 
y <- rnorm(length(mu), mu, 100) 
dat <- data.frame(x=1:length(mu), y=y, A=A) 
ggplot() + geom_line(aes(x=x, y=y, color=A), data=dat) 
+0

你能子集數據併產生重複的例子?某些'y'或'x'值可能不是您所期望的。 – 2012-07-31 09:17:10

+0

如何附加我的數據?我沒有看到這些線的原因是如何與y值相關的,並且我完全知道x = 1:5000鑑於所有結果(dat $ x == 1:5000) – 2012-07-31 09:24:07

+0

Ok - I已經發現如何模擬一個類似的例子,我要編輯我的文章。 – 2012-07-31 09:27:29

回答

5

您需要在數據幀的另一個變量來表示不同的塊(即搭配同色系的區域)和group論點geom_line

dat <- data.frame(x=1:length(mu), y=y, A=A, B=gl(5, 1000)) 
ggplot() + geom_line(aes(x=x, y=y, color=A, group=B), data=dat) 

ggplot output