我正在尝试创建一个循环,以用不同的颜色绘制几条不同的线。我知道可以很容易地做到ggplot2
这一点,过去我已经使用了很多次,但是现在ggplot2
给了我一些本不应该出现的额外内容。
我尝试了许多不同的组合来为颜色创建一个新变量或在其中创建一个额外的循环,但无法解决此问题。到目前为止,我得到的最好的结果是所有行都具有相同的颜色(红色或绿色),但这是没有用的。这是我正在使用的代码。我想给每一种换一个不同的颜色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]))}
我只是想出了解决方法。如果有人需要,我会在这里发布。首先,为每个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])}
希望它能帮助某人
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句