2013-10-02 14 views
0

我正在制作一个很好的图表,但我遇到了一个问题,我画的线条的末端。我不知道为什么R直到maxxx(这里为10)都没有绘制直线。您可以从下面什么我谈论(我不能把图片设置为我的名声太低)码图中看到,该线的末端10之前停止:R plot - lines()在结束之前停止的小问题值

maxxx<-10 
plot(0,type="n",axes=FALSE,xlim=c(0,10),ylim=c(0,10),ylab="",xlab="") 
mtext("TROLOLOL",side=3,cex=3) 
axis(1,pos=0,at=c(0,10),labels=FALSE) 
mtext("R1 ",side=1,line=0,cex=3) 
axis(2,pos=0,at=c(0,10),labels=FALSE) 
mtext("R2",side=2,line=0,cex=3) 


Given_growth_rates<-c(0,0.3,0.5,1,2,5); 


K1<-7 
g1<-5.5 
m<-0.2 
R1_isoclines<-numeric(length(Given_growth_rates)) 
for (i in 1:length(Given_growth_rates)){ 
R1_isoclines[i]<-((Given_growth_rates[i]+m)*K1)/(g1-Given_growth_rates[i]-m) 
} 
R1_isoclines 

K2<-10 
g2<-7 
R2_isoclines<-numeric(length(Given_growth_rates)) 
for (i in 1:length(Given_growth_rates)){ 
R2_isoclines[i]<-((Given_growth_rates[i]+m)*K2)/(g2-Given_growth_rates[i]-m) 
} 
R2_isoclines 

for (i in 1:length(R1_isoclines)){ 
lines(rep(R1_isoclines[i],times=length(R2_isoclines[i]:maxxx)), R2_isoclines[i]:maxxx,    col=i+1, type="l") 
lines(R1_isoclines[i]:maxxx,rep(R2_isoclines[i],times=length(R1_isoclines[i]:maxxx)),col=i+1,type="l") 
} 

回答

1

尝试更换四强通过您的代码行:

for (i in 1:length(R1_isoclines)){ 
    lines(rep(R1_isoclines[i],times=2), c(R2_isoclines[i],maxxx), col=i+1, type="l") 
    lines(c(R1_isoclines[i], maxxx), rep(R2_isoclines[i],times=2),col=i+1,type="l") 
} 

enter image description here

也许已经做了你所期望的。

+0

是的,它的工作,谢谢:D但为什么我的代码没有工作? – Ouistiti

+0

由于“:” - 运算符的功能,例如检查0.5:10的结果,其最后的值将是9.5 – Sophia

+0

非常感谢!我会更仔细地使用这个操作符。祝你有美好的一天:D – Ouistiti

相关问题