2017-10-04 18 views
0

私は1つのグラフに複数のプロットを配置しようとしていますが、試行するたびに常に新しいグラフにその線が表示されます。私はこれを持っています:1つのグラフに複数の線と点を表示するにはどうすればよいですか?

1A<-filter(collapsed,task=="type1" & target_presence=="A") 
plot(1A$set_size_num, 1A$rt, ylim=c(0,4000), xlim=c(0,30), pch=19, col="green", xlab="Set Size", ylab="Response Time (msec.)") 
legend(x=0, y=4000, pch=c(19,1,19,1), col=c("green","green","red","red"), cex=0.7, legend=c("1A","1B","2A","2B")) 
1Af<-lm(data=1A,rt ~ set_size_num) 
summary(1Af) 
abline(1Af, col="green") 

1B<-filter(collapsed,task=="type1" & target_presence=="B") 
plot(1B$set_size_num, 1B$rt, ylim=c(0,4000), xlim=c(0,30), pch=1, col="green", xlab="Set Size", ylab="Response Time (msec.)") 
1Bf<-lm(data = 1B,rt ~ set_size_num) 
summary(1Bf) 
abline(1Bf,col="green") 

同じプロットで線と点を得る方法はありますか?

答えて

0

最初のインスタンスでコールプロットを1回だけ実行し、後続のプロットのためにラインを呼び出します。

コードをテストするために再現性のあるデータを提供する必要がありますが、これを試すことができます。私はあなたの伝説に基づいて "赤"の2番目の行のコードを色付けすることも意図していると信じています。

プログラミングノートでは、オブジェクト/変数名は数字で始めるべきではありません。 1A,1Bの代わりにA1,B1 ...これらは以下で使用されます。

A1 <- filter(collapsed, task=="type1" & target_presence == "A") 
A1f <- lm(data = A1, rt ~ set_size_num) 
summary(A1f) 
B1 <- filter(collapsed, task=="type1" & target_presence == "B") 
B1f <- lm(data = B1, rt ~ set_size_num) 
summary(B1f) 


plot(A1$set_size_num, A1$rt, ylim=c(0,4000), xlim=c(0,30), pch=19, col="green", xlab="Set Size", ylab="Response Time (msec.)") 
lines(A1$set_size_num, A1$rt, col="green") 
points(B1$set_size_num, B1$rt, pch=1, col="red") 
lines(B1$set_size_num, B1$rt, col="red") 
abline(A1f, col="green") 
abline(B1f, col="red") 
legend(x=0, y=4000, pch=c(19,1,19,1), col=c("green","green","red","red"), cex=0.7, legend=c("1A","1B","2A","2B")) 
+0

私は1Bのためのドットを得ていなかった、1Aのためだけのドット – user73218

+0

私はあなたがラインを望んだと思った?ドットが必要な場合は 'lines'を' points'に置き換えます。上記のコードを編集しました。 – Djork

+0

両方の点と線の両方が必要です – user73218

関連する問題