2016-10-08 7 views
0

異なる色で複数の異なる線をプロットするためのループを作成しようとしています。私はこれが容易にggplot2を使用して行うことができ、私は過去に多くを使用したことを知っていますが、今はggplot2は私にそこにすべきではないいくつかの余分なラインを与えています。異なる色の濃度ラインを持つループR

色や余分なループの新しい変数を作成するためにさまざまな組み合わせを試しましたが、これを解決できませんでした。私が今までに得た最高のものは、同じ色(赤または緑)のすべての線を持つことでしたが、それは役に立たないです。 これは私が使用しているコードです。私はそれぞれvar2の異なる色を取得したいと思います。 ありがとう!

a <- data.frame(var1=rnorm(500, m=0.5, sd=1), 
       var2=c("a")) 
b <- data.frame(var1=rnorm(500, m=0.6, sd=1.1), 
      var2=c("b")) 
c <- data.frame(var1=rnorm(500, m=0.7, sd=1.2), 
      var2=c("c")) 
mydata<-data.frame(rbind(a,b,c)) 

y<-unique(mydata$var2) 

plot(1, type="n", xlab="", ylab="", xlim=c(-5,5), ylim=c(0, 0.5)) 
for (i in y){ 
    lines(density(mydata$var1[mydata$var2==i]))} 

density plot

答えて

0

私はこの問題を解決する方法を考え出しました。他の誰かがそれを必要とする場合は、私はここに投稿します。 まず、各var2のための色で新しい変数を作成します。

a <- data.frame(var1=rnorm(500, m=0.5, sd=1), 
       var2=c("a")) 
a$color<-c("#FF0000FF") 

そして、各曲線の色を割り当てる:

col=mydata$color[mydata$var2==i] 

を私が得た最終的なコードはこれです:

a <- data.frame(var1=rnorm(500, m=0.5, sd=1), 
       var2=c("a")) 
a$color<-c("#FF0000FF") 
b <- data.frame(var1=rnorm(500, m=0.6, sd=1.1), 
      var2=c("b")) 
b$color<-c("#00FF00FF") 
c <- data.frame(var1=rnorm(500, m=0.7, sd=1.2), 
      var2=c("c")) 
c$color<-c("#0000FFFF") 
mydata<-data.frame(rbind(a,b,c)) 

y<-unique(mydata$var2) 
plot(1, type="n", xlab="", ylab="", xlim=c(-5,5), ylim=c(0, 0.5)) 
for (i in y){ 
    lines(density(mydata$var1[mydata$var2==i]),col=mydata$color[mydata$var2==i])} 

誰かを助けることを願う

関連する問題