2013-07-03 3 views
1

На основе следующих данных, я хочу построитьДобавление линии на графике в г

m <- 10000 
x <- runif(m,-1,1) 
a0 <- 0; a1 <- -4.46; a2 <- 1.6; a3 <- -4.63 

две переменные p1.at.x и p0.at.x, определенных ниже, против x.

p0.at.x <- numeric(0) 
p1.at.x <- numeric(0)    
for(i in 1:m) { 
    p0.at.x[i] <- a0 +(a1*x[i]) + (a2*((1.5*(x[i]**2))-0.5)) + (a3*((2.5*(x[i]**3))-(1.5*x[i]))) 
    p1.at.x[i] <- 16 -(40.4*x[i]) + (31*((1.5*(x[i]** 2))-0.5))-(18.3*((2.5*(x[i]**3))-(1.5*x[i]))) 
} 

Я попытался следующим:

plot(x, p1.at.x, col="red")   
lines(x, p0.at.x, col="blue") 

, но я не мог видеть линию p0.at.x на графике. Когда я рисую их индивидуально, они имеют одинаковую форму, только различаются по диапазону. Может кто-нибудь подскажет мне, что пошло не так?

+0

Какие значения a0, a1, a2 и a3? –

+0

Не зная этих значений, их трудно диагностировать, но я почти уверен, потому что два диапазона для оси x не совпадают друг с другом. –

+1

Что все ответы/комментарии неявно говорят вам, что после создания окна устройства он не будет автоматически изменяться, если вы тогда вызываете функции типа 'lines' или' points'. Окно устройства останется «оптимальным» для любых исходных данных. Так что либо нужно знать максимальную длину _all_ ваших данных. – joran

ответ

0

Вы должны установить правильный ylim:

plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x)) 
par(new=TRUE) 
plot(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x)) 

Если они отличаются в диапазоне, то вы не видите вторую, потому что это из окна первого участка, так что вы должны учитывать его присутствие, когда вы открываете сюжет.

В качестве альтернативы:

plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x))  
points(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x)) 
+0

Ничего, не знал, что была команда диапазона. –

+0

@DiscreteCircle ваши коды, как дал мне сюжет, где линия не является строкой. Это какое-то изображение – Duna

+0

Я только что исправил его; линии (...) плохо работали с вашими данными. – DiscreteCircle

Смежные вопросы